LSWC scraping the web/taller scraping lwsc 2011/horario lwsc
De WikiEducator
< LSWC scraping the web | taller scraping lwsc 2011
Revisión a fecha de 12:43 10 nov 2011; Lmorillas (Discusión | contribuciones)
{{MiTitulo | Scraping del horario de la LWSC
Búsquedas en el documento
# -*- coding: utf-8 -*- from amara.bindery import html doc = html.parse('horario.html') # Los días están marcados en tablas que tienen un atributo summary dias = doc.xml_select(u'//table[@summary]') for d in dias: print d.summary for charla in doc.xml_select(u'//td[@title][@class="python"]'): print charla.title, ' - ', charla # Podemos hacer lo mismo con menos xpath y más python ... for charla in doc.xml_select(u'//td'): if charla.title and charla['class'] == 'python': print charla.title, '-->>', charla # ¿A qué día pertenece una charla que hemos seleccionado? tabla = charla.xml_select(u'ancestor::table')[0] if '10' in tabla.summary: print 'Esta actividad es el jueves'
Transformación del documento
Vamos a borrar a Joomla del calendario
from amara.bindery import html from amara.writers import lookup from amara.tree import text HTML_W = lookup("html") doc = html.parse('horario.html') joomlas = doc.xml_select(u'//td[@class="joomla"]') for j in joomlas: for ch in j.xml_children: j.xml_remove(ch) j.xml_append(text(u' ')) open('nuevo_horario.html', 'w').write(doc.xml_encode(HTML_W))