framework php comparateur de prix

Eléphanteau du PHP | 41 Messages

23 déc. 2019, 11:50

bonjour

je cherche des conseils sur le framework a choisir pour extraire, prix, qté et informations produit du site web de plusieurs grossiste. trier, parser et formater les résultats.
l'ideal serait que le framework permette de s'appuyer sur les moteur de recherche present sur ces site, et ne soit pas sensible au blockage de scrap des resultats
des avis ?

Mammouth du PHP | 568 Messages

23 déc. 2019, 12:14

Bonjour,

Il y a panther qui te permet de parcourir une page html à l'aide des sélecteurs CSS pour extraire les données.

exemple de page:

Code : Tout sélectionner

<main> <p> 35€ </p> <main>
pour traiter cette page web:

Code : Tout sélectionner

<?php require __DIR__.'/vendor/autoload.php'; // Composer's autoloader $client = \Symfony\Component\Panther\Client::createChromeClient(); $client->request('GET', 'https://domaine-du-site-cible.dev'); echo $crawler->filter('p')->text(); //35€
Modifié en dernier par yann18 le 23 déc. 2019, 12:42, modifié 1 fois.

Eléphanteau du PHP | 41 Messages

23 déc. 2019, 12:35

oui ca peut être une idée faut que je m'y intéresse de plus prêt, y'a besoin de package supplémentaire en particulier, et qui ne serait pas détaillé dans la doc, pour le faire tourner ?

Mammouth du PHP | 568 Messages

23 déc. 2019, 12:47

tu peux l'installer à l'aide de composer en faisant:

Code : Tout sélectionner

composer require symfony/panther
puis l'inclure dans ton projet(voir mon précédent).

Pour plus d'exemples, tu peux consulter ce lien https://symfony.com/doc/current/compone ... awler.html

Eléphanteau du PHP | 41 Messages

23 déc. 2019, 13:08

visiblement Panther integre des binaires chromedriver_linux64... ca risque pas de poser de problème pour l'exécuter sur un server Centos7 (basé sur redhat)?

Mammouth du PHP | 568 Messages

23 déc. 2019, 14:55

un binaire linux fonctionne sur n'importe quelle distribution linux y compris Redhat. Je ne pense pas que t'auras besoin de ce binaire pour ton besoin car elle démarre le navigateur chromium pour simuler une navigation sur une page Web.
L'avantage de Panther c'est qu'il est capable d'extraire les informations d'une page Web créée à partir de JS(React, Angular, jQuery...) . Panther est juste une surcouche de symfony/dom-crawler mais ce dernier peut aussi crawler une page Web.

Eléphanteau du PHP | 41 Messages

26 déc. 2019, 13:27

en fait panther a l'aire d’être, un peut comme Goutte, une surcouche de symfony, qui toutefois n'as plus l'air de faire partie integrate de symfony.
du coup pour l'instant j'essaie de trouver des tutos sur HTTPClient et DomCrawler, mais meme pour ceux la c'est pas evident.