Scrapy

1. Ciclo de vida

2. Tipología

4. Lenguaje de programación

Descripción

Scrapy es una herramienta que permite la construcción de pequeños scripts en Python que recorren un conjunto de páginas web extrayendo su estructura y sus contenidos, sin intervención humana. Se puede usar para acceder a una API de la cual se conoce su estructura mediante la automatización de las consultas, o para extraer datos de páginas web aprovechando su estructura interna, la cual es generalmente regular.

Enlace al recurso

https://scrapy.org

Ejemplos de uso

Un ejemplo típico de Scrapy es la extracción de datos de una página o servicio web que no ofrece una API para tal cometido. Si la página web tiene cierta estructura interna, donde se repiten ciertos campos que contienen los datos deseados, es posible inspeccionar dicha estructura mediante el uso del mismo navegador u otras herramientas. Una vez que se conoce esta estructura, es posible crear un script con Scrapy que extrae dichos contenidos accediendo directamente al elemento de la página HTML que lo contiene. Además, mediante la manipulación de las URL usadas (de la web de la cual se desea extraer datos), es posible navegar de forma más o menos automatizada.

Los pasos para llevar a cabo este proceso mediante Scrapy típicamente son:

  1. Creación del proyecto de Scrapy.
  2. Revisar la estructura de la página web (HTML) identificando las etiquetas o elementos que queremos extraer. Es importante prestar especial atención a si los datos residen en una única página o es necesario navegar mediante enlaces para recuperarlos completamente.
  3. Creación del script utilizando Scrapy para poder realizar la extracción o parseo de la información requerida.
  4. Ejecución del script anterior; se puede establecer una ejecución periódica para mantener los datos siempre actualizados.
  5. Realizar la exportación de la información extraída, por ejemplo, a formato CSV.

Enlaces relacionados

https://en.wikipedia.org/wiki/Scrapy

https://www.w3.org/TR/xpath/all/

https://scrapy.org/resources/