miércoles, 28 de marzo de 2018

Python, introducción a Scrapy - Parte 1.


¿Qué es Scrapy?

Image result for scrapy
Scrapy (https://scrapy.org/) es una librería de python (framework) "open source" que facilita la extracción de datos de las páginas web.


Esta librería es muy potente y se puede utilizar de forma rápida. También permite ampliar su funcionalidad y es portable por estar escrita en python, el cual se puede interpretar en sistemas Linux, Macintosh y Windows.

Aunque el principal objetivo de Scrapy es la extracción de datos de páginas web, este también se puede utilizar para extraer datos mediante el uso de API's, obtener la estructura de la web o simplemente como un extractor de propósito general.

Los datos obtenidos se pueden utilizar como la entrada para otras aplicaciones, generar un archivo histórico, procesarlos, almacenarlos y cualquier otro uso que se nos ocurra ;)

La documentación se puede encontrar en el siguiente enlace: https://docs.scrapy.org/en/latest/index.html

¿Cómo instalar Scrapy - pip install scrapy -? 

A continuación se va a explicar como instalar Scrapy en Fedora, haciendo uso de "virtualenv" y "virtualenvwrapper".

Para los que no lo sepan vamos a ver que es "virtualenv". Virtualenv es una herramienta para crear entornos aislados de Python y sus librerías. En otras palabras, son carpetas en las que se instala la versión de Python que queramos, luego asignamos esa instalación a un proyecto, y así podemos instalar en ese intérprete de Python las librerías necesarias para dicho proyecto sin "ensuciar" la instalación de Python de nuestro sistema operativo. Podemos crear tantos entorno como necesitemos. 

La carpeta donde se encuentra el entorno virtual se crea dentro del correspondiente proyecto. Con "virtualenvwrapper" podemos almacenar esos entornos en un mismo directorio de nuestra elección. De esta forma, y si usamos git, no tenemos que preocuparnos del directorio del entorno virtual, ya que no está dentro del proyecto.

Dependencias del sistema. Antes de instalar Scrapy en Fedora es necesario intalar lo siguiente: gcc, python3-devel, redhat-rpm-config.

sudo dnf install gcc python3-devel redhat-rpm-config

Finalmente instalamos Scrapy dentro del entorno virtual creado con:

pip install Scrapy

Instalación punto por punto:

    a) Instalamos "virtualenv" y "virtualenvwrapper".

    b) Instalamos las dependencias del correspondiente sistema. En Fedora es necesario instalar: gcc,   
        python3-devel, redhat-rpm-config.

    c) Creamos una carpeta con el nombre de nuestro proyecto ("intro_scrapy") y dentro de la misma 
    creamos un entorno virtual (podemos (y aconsejo) llamarlo igual que el proyecto "intro_scrapy").

    d) Por último instalamos Scrapy en el entorno virtual.


En la próxima entrada se explicará: la estructura que presenta un proyecto de Scrapy, cómo crear nuestro propio proyecto y crearemos un "spider" para rastrear una página web y extraer los datos que nos interesen.

Un saludo.

@jortfal :)
Hacking & Programming with a Smile!

0 comentarios:

Publicar un comentario