Goutte: Un Simple Scraper Web en PHP
Goutte es una biblioteca de scraping y rastreo web para PHP que proporciona una API sencilla para extraer datos de respuestas HTML/XML. Aunque Goutte ha sido una herramienta popular para desarrolladores, es importante tener en cuenta que esta biblioteca está deprecada. A partir de la versión 4, Goutte se convierte en un simple proxy para la clase HttpBrowser
del componente BrowserKit de Symfony.
Requisitos
Goutte requiere PHP 7.1 o superior.
Instalación
Para instalar Goutte, simplemente añade fabpot/goutte
como una dependencia en tu archivo composer.json
:
composer require fabpot/goutte
Uso Básico
Para comenzar a usar Goutte, crea una instancia del cliente Goutte:
use Goutte\Client;
$client = new Client();
Realizar Solicitudes
Puedes hacer solicitudes utilizando el método request()
:
// Ir al sitio web de Symfony
$crawler = $client->request('GET', 'https://www.symfony.com/blog/');
Este método devuelve un objeto Crawler
que puedes usar para navegar por el contenido de la página.
Extraer Datos
Para extraer datos, puedes utilizar el método filter()
del objeto Crawler
:
// Obtener el último post en esta categoría y mostrar los títulos
$crawler->filter('h2 > a')->each(function ($node) {
print $node->text()."\n";
});
Enviar Formularios
Goutte también permite enviar formularios fácilmente:
$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";
});
Más Información
Para obtener más información sobre lo que puedes hacer con Goutte, consulta la documentación de los componentes BrowserKit, DomCrawler y HttpClient de Symfony.
Pronunciación
Goutte se pronuncia como "goot", es decir, rima con "boot" y no con "out".
Licencia
Goutte está bajo la licencia MIT, lo que significa que puedes usarlo libremente en tus proyectos.
Conclusión
Aunque Goutte ha sido una herramienta valiosa para el scraping web en PHP, es crucial migrar a HttpBrowser
para seguir recibiendo soporte y actualizaciones. Si estás buscando una solución de scraping web robusta y fácil de usar, Goutte sigue siendo una opción a considerar, pero asegúrate de estar al tanto de su estado de deprecación.
¡Prueba Goutte Hoy!
Si estás interesado en el scraping web, no dudes en probar Goutte y explorar lo que puede hacer por ti. ¡Feliz scraping!