Goutte : Un outil de scrapping web PHP
Goutte est une bibliothèque de scrapping d'écran et de crawling web pour PHP. Elle offre une API conviviale pour explorer des sites web et extraire des données des réponses HTML/XML.
Fonctionnalités clés :
- Permet de créer une instance de Client Goutte pour effectuer des requêtes.
- Fournit des méthodes pour naviguer sur les sites, cliquer sur des liens, extraire des données et soumettre des formulaires.
Utilisation :
- Pour créer une instance de Client Goutte, on utilise
new Client()
. - On peut effectuer des requêtes avec la méthode
request()
. - On peut également personnaliser les paramètres HTTP en créant et en passant une instance d'HttpClient.
Exemples :
- Aller sur le site symfony.com :
$crawler = $client->request('GET', 'https://www.symfony.com/blog/')
. - Cliquer sur un lien :
$link = $crawler->selectLink('Security Advisories')->link(); $crawler = $client->click($link)
. - Extraire des données :
$crawler->filter('h2 > a')->each(function ($node) { print $node->text()." "; })
. - Soumettre un formulaire :
$crawler = $client->request('GET', 'https://github.com/'); $crawler = $client->click($crawler->selectLink('Sign in')->link()); $form = $crawler->selectButton('Sign in')->form(); $crawler = $client->submit($form, ['login' => 'fabpot', 'password' => 'xxxxxx'])
.
Attention : Cette bibliothèque est obsolète. Depuis la version 4, Goutte est devenu un simple proxy vers la classe HttpBrowser du composant Symfony BrowserKit. Pour migrer, remplacez Goutte\Client
par Symfony\Component\BrowserKit\HttpBrowser
dans votre code.