|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 20 ![]() |
bonjour
je cherche à recuperer le source HTML de ce qui affiché à l'ecran connaissant l'url, en PHP et sous forme de fichier dans la pluspart des cas, ca fonctionne bien, soit avec Code :
$file_src = file_get_contents($my_url ); Code :
Cependant , pour quelques cas, ca ne fonctionne pas : le fichier obtenu par l'une des 3 methodes precedentes n'est pas le meme que le fichier obtenu en faisant Ctrl U à l'ecran ( je suis sous google chrome) deux exemples où ça ne coïncide pas : http://www.econologie.com/forums/cha...on-vt7103.html et Dans le premier cas , par programmation, le fichier est réduit à Code :
Savez vous pourquoi ils sont différents ? et aussi comment récupérer le vrai source ? ? Merci de vos reponses |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
il faut rajouter les entete de navigateur (user-agent, accept ...),
mais bon t'as pas a faire du datamining c'est très mal vu, si tu veux récupérer des donnée utilise les API des sites, si y'en a pas c'est qu'ils ne veulent pas que l'on récupères les données.
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 20 ![]() |
je vais chercher par les API ,
mais, à quel endroit faut-il rajouter les entete de navigateur (user-agent, accept ...) ? pour le vrai source, celui qu'on obtient par ctrl u, il y a t il un moyen sous PHP de simuler une action ou une sequence genre Ctrl U , Ctrl S , ... ? |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 20 ![]() |
merci stealth35
ca s'ameliore ![]() j'ai ajouté dans la fonction Curl Code :
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla' ) ; par contre , pour le 2eme exemple, celui avec google, rien de changé Et puis, j'ai un 3eme exemple, un peu different; pour ce troisieme cas, pas de changement non plus ( et pour l'instant pas de 4eme exemple dans le 3eme cas , la bizzarerie est que si je lance la fonction curl en local ( c'est à dire avec easyphp ) , c'est OK, je recupere bien le source par contre, si je lance la fonction curl via le serveur distant (en l'occurence amen.fr), ca ne marche pas ; là le résultat est Code :
car apres il est devenu Code :
--------------------------- tu m'avais dit de voir aussi l' entete de navigateur ( accept ) et ... pour d'autres j'ai essayé differentes choses, mais sans certitudes de bien comprendre, et ca n'a rien donné .... que fallait-il mettre, à ton avis ? |
||||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
met tout les entete de navigateur récupère celle du tien si tu veux pas t’embêter, ça correspond a pas mal de $_SERVER['HTTP_']
__________________
http://blog.stealth35.com/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com