Bonsoir à tous !
Ca va faire un certain temps que je cherche sans réellement avancer sur la question suivante : comment crawler un site en particulier - enfin une page précise de ce site ?
Ce que je souhaite faire, c'est générer une page de résultats d'une recherche puis récupérer les données qui m'intéressent de la liste de résultats pour les afficher comme il faut sur mon site.
J'en ai parlé avec le responsable du site et il m'a clairement dit que c'était possible. Ca reviendrait à faire ce que Terminal A, GoVoyages et autres "comparateurs" font.
Seulement, voilà j'ai du mal à voir lest étapes à suivre. Pour le moment, j'ai réussi à mettre la main sur ce bout de code.
Le paramètre $url, c'est l'url pour avoir la liste des résultats avec les valeurs de recherche nécesssaires passées en GET.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function http_fetch_url($url, $timeout = 10, $userpwd = '') { $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); if ($userpwd) { curl_setopt($ch, CURLOPT_USERPWD, $userpwd); } $data = curl_exec($ch); curl_close($ch); return $data; }
J'obtiens donc une page html dans $data. La question est ce que j'en fais après. La structure est trop simple je trouve, et du coup je ne vois pas comment cibler les informations que je veux.
D'autant plus que je veux les mêmes informations pour chaque résultat donc mettre en place une boucle de lecture de mon fichier html.
Est-ce possible ? A ma connaissance, c'est bon pour un fichier xml, avec une structure claire, alors que là le nombre de balises est bien trop réduit.
Existe-t-il une solution en accord avec ce début de script ? Ou une toute autre solution ? Je suis preneuse aussi.
En espérant avoir pu être claire, je vous remercie par avance pour votre aide.
Bonne soirée !
Partager