Se sigue usando como página de ejemplo timeanddate.com. Scrapermark usa expresiones regulares internamente lo que le da velocidad en la busqueda, utiliza un lenguaje parecido al HTML.
Para bajar scrapermark se puede bajar el egg o el fuente desde el siguiente enlace.
Para el caso del egg se ejecuta:
#easy_install scrapemark-0.9-py2.7.egg
Para el caso del fuente se descomprime el archivo .tar.gz :
#tar -xvf scrapemark-0.9.tar.gz
Luego se cambia al directorio y se ejecuta la instalación por medio del setup.py:
#cd scrapemark-0.9/
#python setup.py install
En el siguiente enlace se muestra un ejemplo de como se usa, para más ejemplos puede visitar este enlace.
En este artículo se explica como buscar la información que se necesita extraer de la página antes mencionada.
La idea es extraer las hora de salida y ocultamiento del sol para Venezuela.
A continuación se muestra el código:
El resultado de la ejecución del script es el siguiente:#!/usr/bin/env python#Se importa sys para pasar como argumento al programa#el url del sitio timeanddateimport sys#Se importa pprint para mostrar la informacion en la#consolafrom pprint import pprint#se importa scrapefrom scrapemark import scrape#se ejecuta scrape pasando el tag html de la tabla#donde se encuentra la fila de la informacion de la salida#y ocultamiento del sol.#se le pasa como argumento en la linea de comandos#el url de timeanddate.resultado = scrape("""<table class="spad"><tbody>{*<tr><td>{{[].day}}</td><td>{{[].sunrise}}</td><td>{{[].sunset}}</td>{# ... #}</tr>*}</tbody></table>""",url=sys.argv[1] )#Se muestra el resultado en pantallapprint (resultado)
ernesto@grievous:~$ python ej5.py http://www.timeanddate.com/worldclock/astronomy.html?n=58 fetching http://www.timeanddate.com/worldclock/astronomy.html?n=58 ... DONE fetching. [{'day': u'24 Oct 2013', 'sunrise': u'05:47', 'sunset': u'17:36'}, {'day': u'25 Oct 2013', 'sunrise': u'05:47', 'sunset': u'17:36'}, {'day': u'26 Oct 2013', 'sunrise': u'05:48', 'sunset': u'17:35'}, {'day': u'27 Oct 2013', 'sunrise': u'05:48', 'sunset': u'17:35'}, {'day': u'28 Oct 2013', 'sunrise': u'05:48', 'sunset': u'17:35'}, {'day': u'29 Oct 2013', 'sunrise': u'05:48', 'sunset': u'17:34'}, {'day': u'30 Oct 2013', 'sunrise': u'05:48', 'sunset': u'17:34'}]
No hay comentarios:
Publicar un comentario