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; ?>