Thursday, July 25, 2013

Scrapy como casi crawler.

0 - Primero
scrapy startproject articulo_lanacion 

1 - Crear el Modelo, Los Itemes que quiero
obtener de la página por lo pronto solo un Item.
Al ejecutar el primer comando se creo un archivo llamado

items.py acá se definen sus atributos.
class LaNacionComArItem(Item):
    # define the fields for your item here like:
    # name = Field()
    title = Field()
    content = Field()
    pass
2 - Crear la arañita:
class LanacionSpider(BaseSpider):
   name = "lanacion" 
   allowed_domains = ["www.lanacion.com.ar"]
   start_urls = [
          "www.lanacion.com.ar", 
          "www.url2.com"]#urls to fetch
   hxs = HtmlXPathSelector(response)
   item = LaNacionComArItem()#here a new object

   #getting the specific html element with the content
   item['title'] = 
       hxs.select('/html/body/section/
       section/section[6]/article/section[2]/h1')
          .extract()
   item['content']= 
       hxs.select('//*[@id="cuerpo"]').extract()
   return item
3 -Para guardar en CSV, JSON, XML, entre los mencionados
ejecutamos desde la terminal:
 scrapy crawl lanacion -o items.csv -t csv  
EL csv quedará de la forma:

content, url
un monton de data.... , www.url.com

Referencias Acá: Documentación y Tutorial

PD: la imagen si no lo recuerdan es de un personaje de scooby doo, llamado scrappy :) 

No comments:

Post a Comment