Re: [Python-es] rrecuperar información de archivos html

Luis Miguel Morillas morillas en gmail.com
Lun Oct 19 22:47:21 CEST 2009


Saludos,

--

Luis Miguel



El día 19 de octubre de 2009 21:31, Antonio Reyes
<areyespgil en gmail.com> escribió:
> hola,
> tengo el siguiente problema que me gustaría me ayudaran a resolver.
> tengo varios archivos html con comentarios etiquetados de acuerdo con un
> score, por ejemplo 1 y 2:
>
>
> 1) <span id="comment_score_16482713" class="score"> (<a href="#"
> onclick="getModalPrefs('modcommentlog', 'Moderation Comment Log', 16482713);
> return false">Score:1</a>, Funny)</span></h4>
>
> 2 )<span id="comment_score_16482755" class="score"> (<a href="#"
> onclick="getModalPrefs('modcommentlog', 'Moderation Comment Log', 16482755);
> return false">Score:5</a>, Insightful)</span></h4>
>
>
> mi problema es que quiero recuperar sólo los comentarios de acuerdo con su
> etiqueta y eliminar todo el contenido html, por ejemplo, de 3 sólo me
> interesa "Yep. There "is" no ads at all!" puesto que está etiquetado con
> score = Funny.  Alguno de ustedes tiene una idea de cómo puedo abordar el
> problema. De antemano gracias por sus respuestas.
>
> 3)
> <span id="comment_score_16482713" class="score"> (<a href="#"
> onclick="getModalPrefs('modcommentlog', 'Moderation Comment Log', 16482713);
> return false">Score:1</a>, Funny)</span></h4>
>
>        <div class="commentBody">
>        <div id="comment_body_14450517">Forbidden<br>You don't have
> permission to access<nobr> <wbr></nobr>/2006/01/gp2x-needs-gpl-lesson.html
> on                 this server.<br><br>Yep. There "is" no ads at all!</div>
>        </div>
>
>

Yo uso amara ($ easy_install amara )

Si el documento no es xml válido puedes hacer:

from amara.bindery import html

doc = html.parse(url_o_path_del_documento)

comentario = doc.xml_select(u"//span[@id='comment_score_16482713']")

unicode(comentario[0])


El lugar de xpath puedes utilizar una solución más pure python.
Cuidado con los namespaces si los estás usando.

Más documentación en http://wiki.xml3k.org/Amara2


-- lm

> --
> Usando el novísimo cliente de correo de Opera: http://www.opera.com/mail/
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es