Extraer el contenido de una web con la API de Web Scraping mediante PHP

La API de Web Scraping permite a los desarrolladores extraer información de una web externa. El funcionamiento es sencillo, extrae en tiempo real información de páginas web basándose en la URL definida en la configuración de la API. Esta API es la mar de útil sobre todo cuando quieres obtener un contenido concreto de un sitio web predefinido.

Existen muchas soluciones que utilizan la API de Web Scraping para extraer contenidos de otras webs. Pero si nos tuviésemos que quedar con una en concreto, sin duda alguna nos quedaríamos con Scrapestack. Scrapestack es una solución 100% gratuita, por lo que no tendrás que rascarte el bolsillo a la hora de hacerte con ella. Además, te proporciona una REST API fácil de usar que extrae información de un sitio web sin necesidad de programar y con restricciones de IP, CAPTCHA y geolocalización. En este tutorial te mostraremos cómo integrar Scrapestack API mediante PHP en tu sitio web.

Obtener la API Access Key

Antes de empezar, debes crearte una cuenta en scrapestack. En el panel de control, podrás obtener la API key en la sección Your API Access Key.

Configuración de la API

Necesitamos la API Access Key para autenticarnos y acceder a la API scrapestack.

  • Primero tenemos que construir la query utilizando la función http_build_query() para pasarle los parámetros necesarios a la API de scrapestack
  • Define la API Access Key en el parámetro access_key
  • Define la URL de la página web en el parámetro url
$queryString = http_build_query([ 
    'access_key' => 'TU_ACCESS_KEY', 
    'url' => 'https://www.google.com', 
]);

Haz la solicitud HTTP GET

Para extraer el contenido de un sitio web, llama a la API de Web Scraping vía HTTP GET utilizando cURL en PHP.

$apiURL = sprintf('%s?%s', 'http://api.scrapestack.com/scrape', $queryString); 
 
// Iniciamos cURL
$ch = curl_init(); 
 
// Definimos la URL y otras opciones
curl_setopt($ch, CURLOPT_URL, $apiURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
// Ejecutamos y obtenemos la respuesta de la API
$website_content = curl_exec($ch); 
 
// Cerramos cURL
curl_close($ch);

Una vez que hemos hecho la solicitud, podremos mostrar el contenido de la siguiente manera:

// Renderizamos el contenido de la web 
echo $website_content;

Código de ejemplo para extraer contenido de una web vía la API de scrapestack

El siguiente código te servirá para extraer contenido de un sitio web externo utilizando PHP.

<?php 
 
$queryString = http_build_query([ 
    'access_key' => 'TU_ACCESS_KEY', 
    'url' => 'https://www.google.com', 
]); 
 
$apiURL = sprintf('%s?%s', 'http://api.scrapestack.com/scrape', $queryString); 
 
// Iniciamos cURL
$ch = curl_init(); 
 
// Definimos la URL y otras opciones
curl_setopt($ch, CURLOPT_URL, $apiURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
// Ejecutamos y obtenemos la respuesta de la API
$website_content = curl_exec($ch); 
 
// Cerramos cURL
curl_close($ch); 
 
// Renderizamos el contenido de la web
echo $website_content; 
 
?>

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP