Salut à tous !
Je développe une application en PHP/MySQL qui parse les moteurs de recherche Google, Yahoo et Bing afin de récupérer le positionnement des sites.
Pour celà je récupère le contenu de leur code source avec la fonction file_get_contents()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 //Définition du moteur de recherche if ($moteur == "Google") { $url_moteur = 'http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla:fr:official&q='.$mot.'&start='.$nb.'&sa=N'; } else if ($moteur == "Yahoo") { $url_moteur = 'http://fr.search.yahoo.com/search?p='.$mot.'&ei=UTF-8&rd=r1&fr=sfp&xargs=0&pstart=1&b='.$nb.''; } else if ($moteur == "Bing") { $url_moteur = 'http://www.bing.com/search?q='.$mot.'&filt=all&first='.$nb.''; } // Récupération du code source du moteur de recherche if ($source = @file_get_contents($url_moteur)) { } else { echo 'Erreur'.$url_moteur; return false; }
Ce code est contenu dans une boucle pour effectuer le travail sur les 3 moteurs de recherche.
Le problème est que des fois, le code s'effectue parfaitement jusqu'au bout, d'autres fois, j'obtiens une erreur et ca s'arrête prématurément avec le message d'erreur que j'ai bien précisé dans le 'else', comme si file_get_contents() n'arrivait pas à lire la page web entré en paramètre.
Connaitriez-vous la cause de ceci ?
Merci.
Partager