Problème extraction allociné php
Résolu
hurricane97
Messages postés
60
Date d'inscription
Statut
Membre
Dernière intervention
-
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je veuc creer des fiches film a partir d'information prise sur allociné
J'ai un code d'extraction qui retourne systématiquement "Aucun film trouvé..." et je ne trouve pas l'erreur .
Mon code est long donc je vais mettre un extrait.
Help me please.
Voici le code extraction.php
<?php
define('ALLOCINE_URL_RECHERCHE','http://www.allocine.fr/recherche/?motcle=');
define('ALLOCINE_URL_DETAIL','http://www.allocine.fr/film/fichefilm_gen_cfilm=');
define('ALLOCINE_URL_DETAIL_ROLE','http://www.allocine.fr/film/casting_gen_cfilm=');
define('ALLOCINE_URL_DETAIL_ACTEUR','http://www.allocine.fr/personne/fichepersonne_gen_cpersonne=');
if(isset($_GET['qt'])){
$titre=$_GET['qt'];
echo '<p><a href="javascript:history.go(-1)">Retour</a></p>';
getListFilm($titre);
}
else
{
if(isset($_POST['id'])) {
$id=$_POST['id'];
$date=$_POST['date'];
echo '<p><a href="javascript:history.go(-1)">Retour</a></p>';
getInfoFilm($id);
}
else
{
echo'<fieldset class="clear"><legend>Titre du film</legend><p><form action="creer.php?page=extraction" method="get">
<input type="text" name="qt" size="30">
<input class="submit" type="submit" value="ok">
</form></p></fieldset>
';
}}
function getListFilm($recherche) {
$site = "allocine";
$chaineRecherche = str_replace(" ","+",$recherche);
$url = ALLOCINE_URL_RECHERCHE.$chaineRecherche."&f=3&rub=0";
list($films,$erreur) = getListFilmAllocine($url);
if(!empty($films)) {
echo'<table class="none">
<tr>
<td class="titre">Titre</td>
<td class="titre">Réalisateur</td>
<td class="titre">Année</td>
<td class="titre"></td>
</tr>';
foreach($films as $unFilm) {
echo'<tr>
<td class="donne">'.$unFilm['titre'].'</td>
<td class="donne">'.$unFilm['realisateur'].'</td>
<td class="donne">';
if(!empty($unFilm['annee'])) print $unFilm['annee'];
echo'</td><form action="creer.php?page=extraction" method="post">
<input type="hidden" name="id" value="'.$unFilm['id'].'">
<input type="hidden" name="date" value="'.$unFilm['annee'].'">
<td class="donne"><input class="submit" type="submit" value="ok"></form></td></tr>';
}
echo'</table>';
}
else {
echo'<h2>Aucun film trouvé ...lol</h2>';
}
if(!empty($erreur)) {
echo'<h2>Le script a générer des erreurs</h2>';
foreach($erreur as $uneErreur) {
echo'<p>'.$uneErreur.'</p>';
} }}
J'ajouterais si ça ne suffit pas pour trouver le problème.
Je vous remercie de votre aide
Je veuc creer des fiches film a partir d'information prise sur allociné
J'ai un code d'extraction qui retourne systématiquement "Aucun film trouvé..." et je ne trouve pas l'erreur .
Mon code est long donc je vais mettre un extrait.
Help me please.
Voici le code extraction.php
<?php
define('ALLOCINE_URL_RECHERCHE','http://www.allocine.fr/recherche/?motcle=');
define('ALLOCINE_URL_DETAIL','http://www.allocine.fr/film/fichefilm_gen_cfilm=');
define('ALLOCINE_URL_DETAIL_ROLE','http://www.allocine.fr/film/casting_gen_cfilm=');
define('ALLOCINE_URL_DETAIL_ACTEUR','http://www.allocine.fr/personne/fichepersonne_gen_cpersonne=');
if(isset($_GET['qt'])){
$titre=$_GET['qt'];
echo '<p><a href="javascript:history.go(-1)">Retour</a></p>';
getListFilm($titre);
}
else
{
if(isset($_POST['id'])) {
$id=$_POST['id'];
$date=$_POST['date'];
echo '<p><a href="javascript:history.go(-1)">Retour</a></p>';
getInfoFilm($id);
}
else
{
echo'<fieldset class="clear"><legend>Titre du film</legend><p><form action="creer.php?page=extraction" method="get">
<input type="text" name="qt" size="30">
<input class="submit" type="submit" value="ok">
</form></p></fieldset>
';
}}
function getListFilm($recherche) {
$site = "allocine";
$chaineRecherche = str_replace(" ","+",$recherche);
$url = ALLOCINE_URL_RECHERCHE.$chaineRecherche."&f=3&rub=0";
list($films,$erreur) = getListFilmAllocine($url);
if(!empty($films)) {
echo'<table class="none">
<tr>
<td class="titre">Titre</td>
<td class="titre">Réalisateur</td>
<td class="titre">Année</td>
<td class="titre"></td>
</tr>';
foreach($films as $unFilm) {
echo'<tr>
<td class="donne">'.$unFilm['titre'].'</td>
<td class="donne">'.$unFilm['realisateur'].'</td>
<td class="donne">';
if(!empty($unFilm['annee'])) print $unFilm['annee'];
echo'</td><form action="creer.php?page=extraction" method="post">
<input type="hidden" name="id" value="'.$unFilm['id'].'">
<input type="hidden" name="date" value="'.$unFilm['annee'].'">
<td class="donne"><input class="submit" type="submit" value="ok"></form></td></tr>';
}
echo'</table>';
}
else {
echo'<h2>Aucun film trouvé ...lol</h2>';
}
if(!empty($erreur)) {
echo'<h2>Le script a générer des erreurs</h2>';
foreach($erreur as $uneErreur) {
echo'<p>'.$uneErreur.'</p>';
} }}
J'ajouterais si ça ne suffit pas pour trouver le problème.
Je vous remercie de votre aide
A voir également:
- Problème extraction allociné php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Extraction video youtube - Guide
- Erreur lors de l'extraction des fichiers de support défaillance irrémédiable ✓ - Forum Windows 10
- Extraction image pdf - Guide
7 réponses
étant donné que ça t'écris ça, ça veut dire que le test if(!empty($films)) { n'est pas bien passé, donc $films est vide et on voit qu'il est setté avec list($films,$erreur) = getListFilmAllocine($url);
Sans le code de la fonction getListFilmAllocine c'est plutôt pas possible de debugger...
T'as essayé de faire des traces un peu avant de demander ?
Sans le code de la fonction getListFilmAllocine c'est plutôt pas possible de debugger...
T'as essayé de faire des traces un peu avant de demander ?
Par traces, j'entends la méthode de base du débugage de scripts, faire des "echo" pour tracer l'activité du script.
ajout de getListAllocine
function getListFilmAllocine($url)
{
$erreur = '';
$films = '';
if( $contenuUrl = getContenuURL($url) )
{
// on isole le bloc de résultats
if($resultats = getEpression($contenuUrl,'#</h4></b></h3></td></tr></table>(.*?)<br />#is'))
{
$resultats = $resultats[0];
// on isole les lignes de résultats
if(preg_match_all('#<table cellpadding="0" cellspacing="0" border="0">(.*?)</table>#is',$resultats, $lignesResultats))
{
$i = 0;
// pour chaque ligne de resultat
foreach($lignesResultats[0] as $unResultat)
{
if( $titreTmp = getEpression($unResultat,'#<td valign="top">(.*?)<div style="padding-top: 2px;">#is') )
{
$titre = strip_tags($titreTmp[0]);
$films[$i]['titre'] = $titre;
$films[$i]['id'] = '';
$films[$i]['realisateur'] = '';
$films[$i]['annee'] = 0;
if( $idTmp = getEpression($unResultat,'#<a href="/film/fichefilm_gen_cfilm=(.*?).html"#is') )
{
$films[$i]['id'] = strip_tags($idTmp[0]);
}
if( $realisateurTmp = getEpression($unResultat,'#<h5 style="color: \#808080">de (.*?)</h5>#is') )
{
$films[$i]['realisateur'] = strip_tags($realisateurTmp[0]);
}
if( $anneeTmp = getEpression($unResultat,'#<h4 style="color: \#808080">(.*?)</h4>#is') )
{
$films[$i]['annee'] = strip_tags($anneeTmp[0]);
}
$i++;
}}}}}
else $erreur[] = "impossible de lire la page";
return(array($films,$erreur));
}
merci encore de votre aide
function getListFilmAllocine($url)
{
$erreur = '';
$films = '';
if( $contenuUrl = getContenuURL($url) )
{
// on isole le bloc de résultats
if($resultats = getEpression($contenuUrl,'#</h4></b></h3></td></tr></table>(.*?)<br />#is'))
{
$resultats = $resultats[0];
// on isole les lignes de résultats
if(preg_match_all('#<table cellpadding="0" cellspacing="0" border="0">(.*?)</table>#is',$resultats, $lignesResultats))
{
$i = 0;
// pour chaque ligne de resultat
foreach($lignesResultats[0] as $unResultat)
{
if( $titreTmp = getEpression($unResultat,'#<td valign="top">(.*?)<div style="padding-top: 2px;">#is') )
{
$titre = strip_tags($titreTmp[0]);
$films[$i]['titre'] = $titre;
$films[$i]['id'] = '';
$films[$i]['realisateur'] = '';
$films[$i]['annee'] = 0;
if( $idTmp = getEpression($unResultat,'#<a href="/film/fichefilm_gen_cfilm=(.*?).html"#is') )
{
$films[$i]['id'] = strip_tags($idTmp[0]);
}
if( $realisateurTmp = getEpression($unResultat,'#<h5 style="color: \#808080">de (.*?)</h5>#is') )
{
$films[$i]['realisateur'] = strip_tags($realisateurTmp[0]);
}
if( $anneeTmp = getEpression($unResultat,'#<h4 style="color: \#808080">(.*?)</h4>#is') )
{
$films[$i]['annee'] = strip_tags($anneeTmp[0]);
}
$i++;
}}}}}
else $erreur[] = "impossible de lire la page";
return(array($films,$erreur));
}
merci encore de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui j'ai appris à faire avec des algo mais avec un vrai langage je c'est pas comment faire...
Je suis une débutante de débutante
Je suis une débutante de débutante