Skip to content

Latest commit

 

History

History
41 lines (41 loc) · 4.11 KB

README.md

File metadata and controls

41 lines (41 loc) · 4.11 KB

Para qué sirve.

Scrapy es una librería Open Source que nos permite extraer información importante que se encuentra en internet. Es posible leer el contenido de una web y movernos en su estructura HTML para analizar sus datos y explotarlos a diferentes formatos ya sea excel, xml, json, o a una base de datos.

Ejemplos de uso.
  • Para marketing de contenidos: Generar nuestro propio contenido a partir de otra página web.
  • Para ganar visibilidad en redes sociales: Interactuar a traves de un robot con usuarios en redes sociales
  • Para controlar la imagen y la visibilidad de nuestra marca en internet: Podríamos rastrear la posición en Google de todas las entradas de nuestro blog.

Primeros pasos.

Instalación.

Scrapy se puede instalar con PyPi (Python Package Index) desde el siguiente comando:

pip install Scrapy

Es altamente recomendable instalar Scrapy dentro de un entorno virtual, para no tener problemas con otros proyectos. Para empezar a usar los entornos virtuales antes hay que instalarlo con el siguiente comando:

[sudo] pip install virtualenv

Una vez instalado creamos un entorno virtual:

virtualenv -p /rutaDelInterprete /rutaDondeCrearlo

Para iniciar un entorno virtual nos vamos a la carpeta scripts dentro del entorno y ejecutamos el comando:

activate.bat

 

Una vez echo esto ya podemos instalar scrapy dentro del entorno virtual.

 

Crear proyecto.

 Para crear un proyecto con scrapy ponemos el siguiente comando desde la consola:

scrapy startproject nombreProyecto

 Al acabar te creará una carpeta con el nombre de tu proyecto y dentro de ella todo lo necesario para empezar a trabajar con Scrapy.

 

Principales funciones.

 Spiders

Dentro del proyecto de Scrapy podemos encontrar una carpeta llamada spiders, dentro de esta incluimos clases que definen a que url o grupos de urls se realizara el web scraping, que información será extraída de esta y algunas funciones adicionales como formas de continuar en otros enlaces (ej: enlaces de paginación). Dentro de esta carpeta podemos crear tantas clases "spider" como queramos, cada una de estas debe tener un nombre único dentro del proyecto. A continuación se puede ver un trozo de código comentado de una clase spider con sus elementos mínimos para funcionar y el seguimiento de paginación.

Código del ejemplo: https://pastebin.com/s6nnMCj5

Pagina a la que se realiza la prueba: http://quotes.toscrape.com/

 

Para poder ejecutar la aplicación debemos escribir el siguiente comando en la consola.

scrapy crawl nombreDelSpider

Para este ejemplo seria:

scrapy crawl follow

y si queremos guardar los resultados en algun archivo por ejemplo en formato json podemos hacer lo siguiente:

scrapy crawl follow -o follow.json

 

Proyecto de ejemplo.

Repositorio git: https://github.com/Davd96/ScrapyExamples.git