Imdbvotes

franky824 Messages postés 1 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 11 février 2010 - 11 févr. 2010 à 08:47
inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014 - 11 févr. 2010 à 11:15
Bonjour j'ai un script php qui me récupère les informations sur le site imdb style :

1) note
2) votes
3) année
4) genre
exemple : http://www.levagecontrole.fr/imdbvotes.php?u=Meres.Et.Filles.

Depuis quelques temps il ne veut plus me récupérer certaines informations comme la note le réalisateur.

Voici mon code :

<?

class imdb
{

function imdb_id_url($url)
{
if(preg_match("/Title\?/",$url)) { $url=preg_replace("/Title\?/","title/",$url); }
if(preg_match("/\?fr=(.{1,})$/",$url)) { $url=preg_replace("/\?fr=(.{1,})$/","",$url); }
if(!preg_match("/\/$/",$url)) { $url.="/"; }
$tab=explode("/",$url);
$c=count($tab);
$id=$tab[$c-2];
return $id;
}

function imdb_source($id)
{
$fp=@fsockopen("www.imdb.com",80, $errno, $errstr, 6);
if($fp)
{
$req ="GET /title/$id/ HTTP/1.0\n";
$req.="Host: www.imdb.com\n";
$req.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\n";
$req.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
$req.="Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\n\n";
fputs($fp,$req);
$source='';
while(!feof($fp)) { $source.=fgets($fp,1024); }
}
return $source;
}

function imdb_infos($source)
{
$ret=array();

//Titre et date
$tab=explode("<meta name="title" content="",$source);
$tab2=explode(""",$tab[1]);
$titre=explode("(",$tab2[0]);
$ret[0]=html_entity_decode($titre[0]);

$date=explode(")",$tab2[0]);
$date2=explode("(",$date[0]);
$ret[1]=html_entity_decode($date2[1]);


//Directed by ou Réalisé par
$tab=explode("Director:
",$source);
$tab2=explode("
",$tab[1]);
$tab2=preg_replace("/(\r|\n)/","",$tab2[0]);
$tab2=explode("">",$tab2);
$tab2=explode("<",$tab2[1]);
$ret[2]=html_entity_decode($tab2[0]);

//genre
$tab=explode("Genre:
",$source);
$tab2=explode("
", $tab[1]);
if(preg_match("/(.{1,})<\/a>/","$2", $tab3[$i])).") ";
}
$ret[3]= html_entity_decode($liste);


//votes
if(!preg_match("/awaiting/", $source))
{
$tab=explode("
",$source);
$tab1=explode("", $tab[1]);
$tab2=explode("",$tab1[1]);
$ret[4] = $tab2[0];
if($ret[4] == "") $ret[4] = "n/a";


$tab = explode("bsp; ", $source);
$tab2 = explode(" votes", $tab[1]);
$ret[5] = $tab2[0];
if($ret[5] == "") $ret[5] = "0";
}
else
{
$ret[4] = "n/a";
$ret[5] = "0";
}

$tab = explode("imdb_search($u);
$sc=$c->imdb_source($idimdb);
$inf=$c->imdb_infos($sc);
$c->imdb_reg($inf,$idimdb);
?>


j'ai deux questions :

1) comment faire pour pouvoir récuperer les informations qu'il me manque je tourne depuis plus d'un mois et je n'y arrive pas
( je suis un vrai newbie dans le php)
2) est il possible de faire le meme script mais pour allociné ?

Je vous remerci à tous car meme si je suis un vrai débutant ce forum m'apprend beaucoup de chose.

1 réponse

inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
11 févr. 2010 à 11:15
2 ) Oui c'est possible de parser les fiches ciné d'allociné quelques sources sont sur phpcs : Parser allocine et Parser allocine

++
0
Rejoignez-nous