Aprende Cómo hacer Web Scraping con PHP en cualquier página. en este ejemplo vamos a trabajar con la página de resultados de Google, vamos a utilizar cURL que es una librería PHP que gestiona peticiones HTTP con las que vamos a republicar en nuestro servidor local, la información de resultados de una búsqueda específica en Google.
Scraping es un proceso que se aplica a los sitios web, para extraer información de estos, un ejemplo útil podría ser saber el precio del dólar con base en unos portales específicos, para re publicar el consolidado en Twitter, o en un blog relacionado con el tema.
Puesta a punto del proyecto sobre el cómo hacer Web Scraping con PHP
Para llevar a cabo el proceso de Scraping voy a usar una clase php llamada simple-html-dom que permite extraer y modificar el DOM HTML de una manera sencilla y efectiva.
El DOM representa un documento en el navegador como un árbol de nodos y cada nodo representa una parte del documento (puede tratarse de un elemento, una cadena de texto o un comentario.
Descarga de la clase simple-html-dom
La clase simple-html-dom la puedes descargar en su última versión en el siguiente enlace:
https://sourceforge.net/projects/simplehtmldom/files/latest/download
Descargarás un archivo ZIP que puedes descomprimir con WinRAR si estás en Windows sin inconvenientes. De este archivo el único que necesitarás para trabajar en este mini proyecto es el llamado simple_html_dom.php
Este documento simple_html_dom.php lo llamaremos desde nuestro index, por medio de una función require o include PHP para luego llamar las funciones y métodos de esta clase que lleguemos a necesitar.
Elección del termino de búsqueda en Google
Esta fase es bastante sencilla, basta con poner la frase que quieres escrapear de Google, para mi ejemplo voy a utilizar la siguiente frase:
aplicaciones php gratis
Después de poner tu frase presionas enter y te va a salir la típica pantalla de resultados de Google sobre tu frase elegida, se debe ignorar el parámetro source, y todo lo que esté después del query en sí, para mi ejemplo, la url original era esta:
Después de gratis, el ampersand y todo lo demás se retira dejando la URL de la siguiente manera:
https://www.google.com/search?q=aplicaciones+php+gratis
Ambas generar el mismo resultado, pero la segunda hará el trabajo más sencillo para la librería nativa cURL de PHP.
Script index.php
Documento index.php resultante con la implementación de cURL para imprimir los resultados del texto de los enlaces de la pantalla de Google sobre la consulta de aplicaciones php gratis
<?php
include('simple_html_dom.php');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.google.com/search?q=aplicaciones+php+gratis');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
//echo $result;
$domResult = new simple_html_dom();
$domResult->load($result);
foreach($domResult->find('a[href^=/url?]') as $link)
echo '<h1>' . $link->plaintext . ' </h1><br>';
?>
Repositorio en GitHub del mini proyecto de web scraping en PHP
Instalación alternativa del proyecto en un servidor local
Puedes instalar el mini proyecto con XAMPP como es habitual en mis publicaciones, para eso te puedes guiar de la siguiente publicación:
Cualquier cosa quedo al pendiente !!
whamao b0da67c006 https://marketplace.visualstudio.com/items?itemName=ginmesrate.FULL-KeygenHSMWorks201264bitsingles