Hola. Un ejemplo sencillo con HTMLParser:
*# Importamos librerías* *import requests* *from html.parser import HTMLParser* *# Primero cojo unos datos con requests* *# Si no tienes requests puedes usar urllib* *data = str(requests.get("http://pybonacci.org <http://pybonacci.org>").content)* *# Creo una clase para el uso que le quiero dar a HTMLParser* *class Parser(HTMLParser):* * def handle_starttag(self, tag, attrs):* * if tag == 'img':* * print("Start tag:", tag)* * for attr in attrs:* * if attr[0] == 'src':* * print(attr[1])* *# Et voilá* *parser = Parser()* *parser.feed(data)* Adapta la clase Parser al uso que le vayas a dar y listo. Mira los métodos handle_data, etc, en los ejemplos en [1]. El código anterior es Python3, en Python2 deberás cambiar alguna cosita. [1] https://docs.python.org/3.4/library/html.parser.html El 5 de agosto de 2014, 17:31, Alexandro Colorado <j...@oooes.org> escribió: > Y en html.parser hay una opcion para seleccionar el tag a parsear? > > On 8/5/14, lasizoillo <lasizoi...@gmail.com> wrote: > > El día 4 de agosto de 2014, 23:53, Miguel Beltran R. > > <yourpa...@gmail.com> escribió: > >> No conozco html.parser pero si tu codigo HTML esta bien escribo podrias > >> usar > >> lxml y hacer una busqueda con el (cosa que no recuerdo como se hace, > pero > >> creo que si la tenía) > >> > > > > Coincido con la recomendación de lxml. > > > > Puede parsear html > > http://lxml.de/parsing.html#parsing-html > > > > Se pueden usar selectores css: > > http://lxml.de/cssselect.html > > y xpath: > > http://lxml.de/xpathxslt.html > > > > Aparte de eso, funciona muy bien con ficheros muy grandes > > > http://stackoverflow.com/questions/9856163/using-lxml-and-iterparse-to-parse-a-big-1gb-xml-file > > > > Un saludo, > > > > javi > > > >> > >> 2014-08-04 15:02 GMT-05:00 Alexandro Colorado <j...@oooes.org>: > >> > >>> Saludos una pregunta sencilla. Quiero seleccionar una etiqueta por su > >>> clase dentro de un html usando html.parser de python 3.2. > >>> > >>> El html es grande, y aunque he podido parsear cosas como starttag, y > >>> data, ahora quiero limitar el html a unicamente las clases que > >>> necesito. En este caso el tag es > >>> <td class="ticket">Costo</td> > >>> <td class="value">$ 432.23</td> > >>> > >>> Gracias. > >>> > >>> -- > >>> Alexandro Colorado > >>> Apache OpenOffice Contributor > >>> 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es@python.org > >>> https://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >> > >> > >> > >> > >> -- > >> ________________________________________ > >> Lo bueno de vivir un dia mas > >> es saber que nos queda un dia menos de vida > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es@python.org > >> https://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org > > https://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > Alexandro Colorado > Apache OpenOffice Contributor > 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/