Goutte: Un Scraper Web PHP Simple et Efficace

Goutte

Découvrez Goutte, une bibliothèque PHP pour le scraping web, son utilisation et sa dépréciation vers Symfony.

Goutte: Un Scraper Web PHP Simple et Efficace

Goutte: Un Simple Scraper Web PHP

Goutte est une bibliothèque de scraping et de crawling web pour PHP. Elle offre une API conviviale pour explorer des sites web et extraire des données à partir des réponses HTML/XML. Cependant, il est important de noter que cette bibliothèque est désormais dépréciée.

Avertissement

À partir de la version 4, Goutte est devenu un simple proxy pour la classe HttpBrowser du composant Symfony BrowserKit. Pour migrer, remplacez Goutte\Client par Symfony\Component\BrowserKit\HttpBrowser dans votre code.

Exigences

Goutte nécessite PHP 7.1 ou supérieur.

Installation

Pour installer Goutte, ajoutez-le comme dépendance requise dans votre fichier composer.json :

composer require fabpot/goutte

Utilisation

Création d'une instance de client Goutte

Pour commencer, créez une instance de client Goutte qui étend Symfony\Component\BrowserKit\HttpBrowser :

use Goutte\Client;
$client = new Client();

Faire des requêtes

Vous pouvez faire des requêtes avec la méthode request() :

// Accéder au site symfony.com
$crawler = $client->request('GET', 'https://www.symfony.com/blog/');

Cette méthode retourne un objet Crawler (Symfony\Component\DomCrawler\Crawler). Pour utiliser vos propres paramètres HTTP, vous pouvez créer et passer une instance HttpClient à Goutte. Par exemple, pour ajouter un délai d'attente de 60 secondes :

use Goutte\Client;
use Symfony\Component\HttpClient\HttpClient;
$client = new Client(HttpClient::create(['timeout' => 60]));

Cliquer sur des liens

Pour cliquer sur un lien, utilisez le code suivant :

// Cliquer sur le lien "Security Advisories"
$link = $crawler->selectLink('Security Advisories')->link();
$crawler = $client->click($link);

Extraire des données

Pour extraire des données, vous pouvez utiliser le code suivant :

// Obtenir le dernier post dans cette catégorie et afficher les titres
$crawler->filter('h2 > a')->each(function ($node) {
    print $node->text()."\n";
});

Soumettre des formulaires

Pour soumettre un formulaire, utilisez le code suivant :

$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']);
$crawler->filter('.flash-error')->each(function ($node) {
    print $node->text()."\n";
});

Informations supplémentaires

Pour plus d'informations sur ce que vous pouvez faire avec Goutte, consultez la documentation des composants BrowserKit, DomCrawler et HttpClient de Symfony.

Prononciation

Goutte se prononce "goot", c'est-à-dire qu'il rime avec "boot" et non "out".

Informations techniques

Goutte est un mince wrapper autour des composants Symfony suivants : BrowserKit, CssSelector, DomCrawler et HttpClient.

Licence

Goutte est sous licence MIT.

Conclusion

Goutte est un outil puissant pour le scraping web en PHP, mais avec sa dépréciation, il est conseillé de migrer vers les composants Symfony appropriés. Pour en savoir plus, consultez la .

Essayez Goutte dès aujourd'hui !

Si vous êtes développeur PHP et que vous cherchez un moyen efficace de scraper des données, Goutte pourrait être un bon point de départ, même si vous devez garder à l'esprit sa dépréciation.

Meilleures alternatives à Goutte

Email Signature Parser

Email Signature Parser

Email Signature Parser est un outil pour extraire des détails de contact et les envoyer à divers services

Crawlbase

Crawlbase

Crawlbase est une plateforme de collecte de données pour développeurs

Diffbot

Diffbot

Diffbot est un outil d'extraction et de crawl de données web pour l'IA

Reworkd

Reworkd

Reworkd est un outil d'extraction de données web puissant et automatisé

Web Scraper

Web Scraper

Web Scraper est un outil puissant pour l'extraction de données

ParseHub

ParseHub

ParseHub est un outil de web scraping gratuit et puissant qui permet d'extraire des données facilement sans codage.

Datatera.ai

Datatera.ai

Datatera.ai est une plateforme IA qui transforme fichiers et sites web en données structurées avec facilité.

PromptLoop

PromptLoop

PromptLoop est une plateforme IA qui automatise la recherche web et l'analyse de données directement dans Excel et Google Sheets.

Thunderbit

Thunderbit

Thunderbit est une solution d'automatisation web alimentée par l'IA qui simplifie les tâches répétitives comme le copier-coller, le scraping et le résumé de contenu.

Import.io

Import.io

Import.io est une plateforme alimentée par l'IA pour l'extraction de données web, aidant les entreprises à obtenir des informations de marché précises.

SerpApi

SerpApi

SerpApi est une API de recherche Google qui permet de gratter et d'analyser les résultats de recherche de manière efficace.

Bytebot

Bytebot

Bytebot est une plateforme d'automatisation web sans code qui simplifie la création de workflows automatisés.

GoLess

GoLess

GoLess est un outil d'automatisation sans code qui permet d'automatiser les tâches du navigateur, le scraping web et l'automatisation des feuilles de calcul.

Rapture Parser

Rapture Parser

Rapture Parser est une API de scraping web qui transforme n'importe quel site en données structurées en quelques secondes.

UseScraper

UseScraper

UseScraper est une API de scraping et de crawling web qui permet d'extraire rapidement le contenu de n'importe quel site en texte brut, HTML ou Markdown.

Webtap.ai

Webtap.ai

Webtap.ai est un outil de scraping web alimenté par l'IA qui permet d'extraire des données de n'importe quel site web en utilisant uniquement des requêtes en langage naturel.

Extracto.bot

Extracto.bot

Extracto.bot est un outil de scraping web intelligent sans configuration, permettant de collecter des données de n'importe quel site directement dans Google Sheets.

Scrap.so

Scrap.so

Scrap.so est un assistant IA qui collecte des données pour vous, sans abonnement, avec un paiement unique.

WebScraping.AI

WebScraping.AI

WebScraping.AI est une API de scraping web alimentée par l'IA qui gère les navigateurs, les proxies, les CAPTCHAs et l'analyse HTML.

FlowScraper

FlowScraper

FlowScraper est un outil de scraping web puissant qui permet d'automatiser facilement l'extraction de données sans nécessiter de compétences en codage.

Data Donkee

Data Donkee

Data Donkee est une solution d'extraction de données web alimentée par l'IA, permettant une collecte sans code et évolutive.

Outils IA en vedette

Synna

Synna

Synna est une plateforme sans code alimentée par l'IA qui automatise la collecte de données et la génération de rapports, éliminant les tâches manuelles.

Voir les détails
SingleAPI

SingleAPI

SingleAPI est une solution alimentée par GPT-4 qui transforme n'importe quel site web en API en quelques secondes, facilitant l'extraction et l'enrichissement des données.

Voir les détails
Browse AI

Browse AI

Browse AI est une plateforme sans code pour extraire et surveiller les données de n'importe quel site web, sans nécessiter de compétences en programmation.

Voir les détails
AgentGPT

AgentGPT

AgentGPT est une plateforme IA qui permet de créer et de gérer des agents intelligents pour le scraping de données web.

Voir les détails
Webscrape AI

Webscrape AI

Webscrape AI est un outil sans code qui automatise la collecte de données sur le web avec précision et rapidité.

Voir les détails
Octoparse

Octoparse

Octoparse est une solution d'automatisation sans code pour le web scraping, transformant les pages en données structurées en quelques clics.

Voir les détails
Isomeric

Isomeric

Isomeric transforme le texte non structuré en JSON lisible par machine.

Voir les détails
ScrapingBee

ScrapingBee

ScrapingBee, l'API de web scraping au top! Simplifie l'extraction de données.

Voir les détails