Parser overture

yvain91 Messages postés 8 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 13 février 2006 - 28 déc. 2004 à 18:33
LocalStone Messages postés 514 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 1 mars 2009 - 30 déc. 2004 à 21:38
Bonjour,
J'aurai besoin, grace à une fonction php, de récupérer des résultats affichés sur la page d'overture de suggestion de mot clé(http://inventory.fr.overture.com/d/searchinventory/suggestion/).
Par exemple, récupérer le nombre de requetes pour un mot clé déterminé pour pouvoir les utiliser par la suite dans une application php.
Pourriez vous me donner des pistes, merci d'avance !

5 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 déc. 2004 à 18:57
Salut ;-)

Une fois la page ouverte à l'aide de la fonction fsockopen() tu utilises les expressions régulières (www.expreg.com) pour en tirer le contenu.

a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
yvain91 Messages postés 8 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 13 février 2006
30 déc. 2004 à 10:48
Merci pour la réponse, ça m'a permit de trouver quelques pistes cependant cela ne fonctionne pas !

J'ai essayé en reprennant un exemple trouvé sur www.asp-magazine.com

J'ai testé la fonction fsockopen mais j'ai ce message d'erreur :

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\easyphp\www\sylvain\exemple-fsockopen.php3 on line 2


J'ai un formulaire :

<html>
<head>
<title>Récupérer le contenu HTML d'une page distance</title>

</head>

<form method="post" action="test_socket.php">

</form>



qui appelle ce script :

<?
// On teste si la variable urlbase existe
if (isset($urlbase)) {

$sock = fsockopen ($urlbase, 80, &$errno, &$errstr, 30);

if (!$sock) {

// Il y a eu une erreur
echo "Une erreur s'est produite
\n";
echo "Numéro d'erreur : $errno
\n";
echo "Description :  $errstr
\n";

} else {

// Envoi au serveur : on souhaite une réponse HTTP
fputs ($sock, "GET / HTTP/1.0\r\n\r\n");

//Lecture de la réponse du serveur
while (!feof($sock)) {
echo fgets ($sock,128);
}

// fermeture du socket
fclose ($sock);
}
}
else {

// la variable urlbase n'existe pas
// On redirige l'utilisateur vers la page formulaire
Header("Location: recup-contenu-html.php");
}
?>


Pouvez vous m'indiquer la partie du script à modifier pour ne plus avoir d'erreur, j'ai essayé de modifier le fichier .ini en local mais ça ne fonctionne toujours pas !

Merci de votre aide :-)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 déc. 2004 à 11:42
Salut ;-)

remplace $sock = fsockopen ($urlbase, 80, &$errno, &$errstr, 30);

par ça :

$sock = fsockopen ($urlbase, 80, $errno, $errstr, 30);

a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
yvain91 Messages postés 8 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 13 février 2006
30 déc. 2004 à 13:59
Merci de la rapidité de la réponse :-)

J'avais déjà testé en enlevant les &, mais au lieu d'avoir la page parsée qui s'affiche, j'ai ça :

HTTP/1.0 302 Redirect Pragma: no-cache Cache-Control: no-cache Content-Length: 0 Connection: close Location: http://62.39.95.15:4080/nohost 


Je ne sais pas trop à quoi ça correspond!

Sinon sur certaines URL, j'ai un message d'erreur du type :

Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\easyphp\www\sylvain\test_socket.php on line 5

Warning: fsockopen(): unable to connect to http://inventory.fr.overture.com/d/searchinventory/suggestion/?term=saisissez%20les%20mot%20cle%&mkt=fr&lang=fr_FR:80 in c:\easyphp\www\sylvain\test_socket.php on line 5
Une erreur s'est produite
Numéro d'erreur : 0
Description : L'opération s'est terminée. 



Je n'y comprend pas grand chose, lol ! sinon est ce que quelqu'un connaitrai des sites proposant des tutoriaux sur ce genre de fonction en PHP !

Merci !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LocalStone Messages postés 514 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 1 mars 2009
30 déc. 2004 à 21:38
J'ai fais une source, y a pas mal de temps. Cherche "Parseur HTML" sur le site. Peut-être que ça pourra t'aider.
LocalStone :big)
0
Rejoignez-nous