recuperar contenido html

"Antonio Reyes" <[email protected]>
Newsgroups gmane.comp.python.general.castellano
Message-ID <op.u15tlhrrdptvz5@nlel>
El Martes, 20 de Octubre de 2009 22:43:58 Luis Miguel Morillas escribió:


> La solución más rápida es la siguiente. Usa amara2 (easy_install amara)
>from amara.bindery import html
>doc =
>  html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/art
> icle_1.html') comentarios = doc.xml_select(u"//span[@class='score']")
> for c in comentarios:
>     texto_comentario = unicode(c)
>     if 'Funny' in texto_comentario or 'Insightful' in texto_comentario:
>         print texto_comentario  # haz aquí lo que consideres con el
>  comentario.
>Es esto lo que necesitas?

>> Por lo que se ve, hay que relacionar la puntuación con los comentarios.  
>> Heprobado un poco y lo he conseguido con el '..' de XPath para subir un  
>> nivel:


>> from amara.bindery import html

>> doc=html.parse(r'http://nlel.areyesp77.operaunite.com/file_sharing/content/article_1.html')
>> comentarios=doc.xml_select(u"//div[@class='commentBody']/..")
>> for c in comentarios:
>>    score=unicode(c.xml_select(u"//span[@class='score']")[0]))
>>    if u'Funny' in score or u'Insightful' in score:
>>        comment=unicode(c.div[1])
>>        print score, comment

He estado haciendo pruebas con este código pero hay un error en él.
Explico, recupera el comentario etiquetado como 'Funny' pero además  
recupera los hijos de ese comentario y los considera como si también  
tuvieran esa etiqueta.
Por ejemplo, en el archivo de prueba, el score "Funny" aparece sólo en 8  
comentarios pero al ejecutar el script recupera 415 comentarios que no  
tienen ese score pero que dependen de estos 8.
Cómo se podría solucionar esto?


-- 
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.