26/7/13

Scrapy - Ejemplo

Una vez tenemnos instalado Scrapy, vamos a crear un proyecto de ejemplo, de momento vamos a probar con el jemplo que tenemos en  http://doc.scrapy.org/en/latest/intro/tutorial.html

Para ello abrimos una ventana de linea de comandos, Ejecutar\ cmd, nos situamos en el directorio que vamos a crear el proyecto, en mi caso lo voy hacer en C:\Python27 y escribimos la siguiente sentencia:

""


Esto crea una estructuras de carpetas donde podremos trabjar.




  • scrapy.cfg: fichero de configuración del proyecto
  • tutorial/: modulo del proyecto python.
  • tutorial/items.py: fichero con items (declaraciones de variables con formas de objetos)
  • tutorial/pipelines.py:
  • tutorial/settings.py: fichero de configuración.
  • tutorial/spiders/: directorio donde crearemos nuestros spiders.

- En "..\tutorial\tutorial" tenemos varios archivos, vamos a modificar los que nos interesan de momento:
  • En items.py definimos los items, son clases donde declaramos las variables que necesitaremos, podemos asemejarlos a objetos.from scrapy.item import Item, Field class DmozItem(Item): title = Field() link = Field() desc = Field()
from scrapy.item import Item, Field

class DmozItem(Item):
    title = Field()
    link = Field()
    desc = Field()
 
- En "..\tutorial\tutorial\spiders" crearemos el programa que ejecutamos (araña). 
  •  Ahora crearemos en "C:\Python27\tutorial\tutorial\spiders" nuestro código con nombre "dmoz.pyc":
from scrapy.spider import BaseSpider

class DmozSpider(BaseSpider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
    ]

    def parse(self, response):
        filename = response.url.split("/")[-2]
        open(filename, 'wb').write(response.body)

En estos momentos podemos ejecutarlo a través de la linea de comandos con la sentencia:
scrapy crawl dmoz, y obtendremos lo siguiente:



Esta ejecución lo que hace es generar dos ficheros nuevos en nuestro directorio"C:\Python27\tutorial\tutorial\spiders" denominados "Books" y "Resource", cada uno de ellos contiene el body de las url que se le han solicitado en el spider "dmoz".

Proximamente incluiremos mas ejemplos utilizando scrapy, este primer ejemplo lo hemos hecho partiendo de la web http://doc.scrapy.org/en/latest/intro/tutorial.html para comprobar que teniamos todo bin configurado.

No hay comentarios :

Publicar un comentario