Scrapy

Se trata de un framework que nos va a falicilitar la tarea de hacer webscrapying. Aquí tenéis la web del proyecto.

Para empezar instalaremos la librería:

1
pip install scrapy

Después crearemos una carpeta y nos meteremos en ella:

1 2
mkdir proyecto_scrapy
cd proyecto_scrapy

Luego, en la terminal, podemos correr el siguiente comando para probar:

1
scrapy shell -s USER_AGENT="Mozilla/5.0" http://www.gumtree.com/p/studios-bedsits-rent/

Se nos abrirá una shell interactiva de scrapy

Podemos probar el siguiente comando a ver qué salida nos da:

1 2
>>> response.xpath('//h1/text()').extract()
[u'set unique family well']

Más ejemplos

1 2 3 4 5 6 7 8
>>> response.xpath('//h1').extract()
[u'<h1 itemprop="name" class="space-mbs">set unique family well</h1>']
>>> response.xpath('//*[@itemprop="price"][1]/text()').extract()
[u'\xa3334.39pw']
>>> response.xpath('//*[@itemprop="price"][1]/text()').re('[.0-9]+')
[u'334.39']
>>> response.css('.ad-price').xpath('text()')
[<Selector xpath='text()' data=u'\xa3334.39pw'>]

¿Qué sacaría el siguiente path?

//*[@itemprop="image"][1]/@src

Empezando un proyecto en Scrapy

Estas cosas son las que hace un framwork. Te gestiona todo el proyecto y sus directorios. Las librerías se usan igual que el lenguaje (python), el framework hay que aprenderlo:

info

Los usuarios de Windows probablemente tengan que instalar la librería Win32

1
pip install pywin32
1 2
scrapy startproject citas
cd citas

Podemos generar nuestra primera araña con el comando:

1
scrapy genspider citas https://www.goodreads.com/quotes

Nos generará un archivo citas.py

Más en el siguiente vídeo:

Pregunta 23

Desplegando nuestra araña en scrapyd

Para tener tu araña corriendo en la web aquí tienes una plataforma muy interesante.

results matching ""

    No results matching ""