[Python-es] parsear HTML
Luis Miguel Morillas
morillas en gmail.com
Mie Mar 2 16:22:46 CET 2011
El día 2 de marzo de 2011 15:23, (P en vel) <pdlopez en uci.cu> escribió:
> Como puedo de un archivo html cojer todas las etiquetas <tr></tr> que tengan
> un <td></td> que se llame cuentos infantiles por ejemplo, y guardar el valor
> que tenga los demas <td> de ese <tr>, es decir cojer los valores de todas
> las columnas de esa fila, por ejemplo: cenicienta, 25.00
>
> <tr align="RIGHT" bgcolor="#ffffff">
> <td nowrap="nowrap" align="center">Cuentos Infantiles</td>
> <td><font color="#008000">Cenicienta</font></td>
> <td><font color="#008000">25.00</font></td>
> </tr>
>
Yo lo hago así usando una expresión xpath con amara:
from amara.bindery import html
doc = html.parse(url_de_la_web)
cuentos = doc.xml_select(u'//tr[td="Cuentos Infantiles"]')
# nodos html
for cuento in cuentos:
cuento.xml_encode()
# sólo contenido
for cuento in cuentos:
for datos in cuento.xml_children:
print datos,
Si quieres probar amara sin instalar, he creado un amaraPortable para
windows: https://bitbucket.org/lmorillas/amaraportable/downloads/AmaraPortable.exe
Saludos,
-- luismiguel
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
Más información sobre la lista de distribución Python-es