Extracción de datos con Scraperwiki y Python

Posted on lun 28 octubre 2013 in General • 2 min read

Continuando con los artículos sobre webscraping con Python, le toca el turno a Scraperwiki.

La documentación de Scraperwiki la pueden encontrar acá.

Aparte de una librería para Python, tiene un sitio interactivo donde puede usar ScraperWiki para Ruby, Php y Python, en el siguiente enlace pueden ver la interfaz web de ScraperWiki para Python.

Este artículo se basa en el tutorial oficial de ScraperWiki.

En la siguiente figura se muestra la página web de ScraperWiki para Python:

La siguiente imagen muestra la información de la salida y ocultamiento del Sol en Venezuela del sitio timeanddate:

Se muestra a continuación una imagen del código html de la página de la imagen anterior, sombreando la parte de dicho código que nos interesa:

Para instalar ScraperWiki se ejecuta el comando pip:

#pip install scraperwiki

El código para extraer la información se muestra a continuación:

#!/usr/bin/env python


#importar scraperwiki


import scraperwiki


#importar lxml.html


import lxml.html





#Url de la pagina timeanddate de la


#info de Venezuela.


url = "http://www.timeanddate.com/worldclock/astronomy.html?n=58"


#se crea la instancia de la clase scrape pasando el


#url del sitio a extraer la informacion.


html = scraperwiki.scrape(url)





#Se busca en el codigo html de la pagina


root = lxml.html.fromstring(html)


#Se crea una lista que almacenara los diccionarios conteniendo


#la informacion que se necesita


lista = []


#Se busca el tag html tbody y tr.


#Esto genera una lista con el contenido del tbody.Esto


#se recorre dicha lista


for tr in root.cssselect("tbody tr "):


    #Se selecciona la informacion que aparece en


    #el tag html td


    tds = tr.cssselect("td")


    #Se guarda la informacion en un diccionario


    datos = {


        'fecha': tds[0].text_content(),


        'amanecer': tds[1].text_content(),


        'atardecer': tds[2].text_content()


    }


    #Se agrega los datos a la lista


    lista.append(datos)


#Se muestra la lista en pantalla


for i in lista:


    print i

El resultado de la ejecución del script a continuación:

{'fecha': '26 Oct 2013', 'atardecer': '17:35', 'amanecer': '05:48'}

{'fecha': '27 Oct 2013', 'atardecer': '17:35', 'amanecer': '05:48'}

{'fecha': '28 Oct 2013', 'atardecer': '17:35', 'amanecer': '05:48'}

{'fecha': '29 Oct 2013', 'atardecer': '17:34', 'amanecer': '05:48'}

{'fecha': '30 Oct 2013', 'atardecer': '17:34', 'amanecer': '05:48'}

{'fecha': '31 Oct 2013', 'atardecer': '17:34', 'amanecer': '05:48'}

{'fecha': '1 Nov 2013', 'atardecer': '17:33', 'amanecer': '05:49'}

Puede revisar más tutoriales sobre ScraperWiki en el siguiente enlace.

¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV

O Escaneando el código QR desde la billetera:

17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV