
>en el ejemplo, el texto que quiero recuperar está siempre entre <div> y </div> ¿alguna idea de como extraer >ese texto? gracias
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar
PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
Para cosas sencillas podes probar con Element Tree
http://docs.python.org/library/xml.etree.elementtree.html
En la documentacion hay un ejemplo breve pero que hace parte de lo que
vos buscas. Si el html esta bien estructurado y no necesitas algo muy
complejo me parece una buena opcion porque ya viene con Python, no
necesitas instalar nada ni agregarte una dependencia.
--
Hystrix
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar
PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
Lo que, por supuesto, sería cierto si la cita dijera "any problem" en
vez de "a problem". Cuando el problema es parsear un lenguaje
regular, las expresiones regulares son la solución ideal. Para
todos los demás problemas (entre los cuales está el de extraer texto
de un html), son todo lo contrario. Pero decir que las expresiones
regulares son un problema en sí, es tan necio como querer usarlas
para culquier cosa.
Fede
hola
quiero recuperar de un html un texto, el texto en si siempre está entre dos etiquetas html. no se si me explico bien, pongo un ejemplo bastante simple
<head>
texto
</head>
<body>
texto
<div>
texto que quiero recuperar
</div>
texto
</body>

_______________________________________________ pyar mailing list py...@python.org.ar
El chiste es que, muchas veces las re son tán dificiles de armar o
debuggear que, generan ese 'segundo problema', a eso se refería jwz
[0]
Por supuesto, debe ser tomado como una broma, nadie cuestiona el
poder[0] de las re (de hecho, fue mi sugerencia)
Saludos
[0] http://www.jwz.org/
[1] http://xkcd.com/208/
-------------------------------------
Martín Cerdeira - Software Developer
[web] http://www.codmacs.blogspot.com/
() ascii ribbon campaign
/\ www.asciiribbon.org
te recomiendo que aprendas expresiones regulares.
vos necesitas el texto que matchea <div>cualquirCosa</div>
te dejo un link con ejemplos simples:
http://mundogeek.net/archivos/2008/04/09/python-expresiones-regulares/
--
gustavo c
Puede ser que esto sea lo que necesitás?
>>> import HTMLParser
>>> class TextStripper(HTMLParser.HTMLParser):
... def __init__(self):
... self.reset()
... self.fed = []
...
... def handle_data(self, d):
... self.fed.append(d)
...
... @property
... def get_text(self):
... return ''.join(self.fed)
...
>>> x = TextStripper()
>>> x.feed(<string con html>)
>>> x.get_text
Saludos
Lautaro
te recomiendo que aprendas expresiones regulares.
vos necesitas el texto que matchea <div>cualquirCosa</div>
te dejo un link con ejemplos simples:
http://mundogeek.net/archivos/2008/04/09/python-expresiones-regulares/

_______________________________________________ pyar mailing list py...@python.org.ar
La dificultad de parsear XML (y sus amigos) con expresiones regulares
viene de que XML no es un lenguage regular.
Aca una explicación super experta de la situación[0]
[0] http://stackoverflow.com/questions/1732348?tab=votes#tab-top
Saludos,
--
Fabián E. Gallina
http://www.from-the-cloud.com
>>> import HTMLParser
>>> class TextStripper(HTMLParser.HTMLParser):
... def __init__(self):
... self.reset()
... self.fed = []
...
... def handle_data(self, d):
... self.fed.append(d)
...
... @property
... def get_text(self):
... return ''.join(self.fed)
...
>>> x = TextStripper()
>>> x.feed(<string con html>)
>>> x.get_text
Saludos

El primer renglón dice "recomiendo que aprendas ..."
Dado la búsqueda que se necesita, es una buena oportunidad de aprender.
Con respecto a "usar regex para estas cosas es reinventar la rueda".
Si la persona que empezó este hilo conoce regex, no mandaba ninguna
consulta.
Otra cuestión que es más difícil de ver, es cuando usar POO. No sabemos
en que terminará el sistema de busqueda de texto del texto html, pero si es
bueno aprovechar para decir que POO es básicamente una forma de modelar,
no la única, y no tiene sentido usarlo cuando no vemos un conjunto de
objetos que se comunican entre si. No voy a seguir con esto, estamos
fuera del hilo.
Sigo recomendando aprender, porque adquirir conocimiento es la base de
la libertad.
un saludo,
--
Gustavo C [mutt]
twitter: @fromgus
no uses expresiones regulares para parsear html: