Hola Kiko, has podido revisarlo? On 8/6/14, Kiko <kikocorre...@gmail.com> wrote: > estoy en el móvil y no puedo revisar lo que digo pero creo que > HTMLParser tiene métodos para saber dónde te encuentras. Puedes buscar > la posición del body y si te encuentras más allá pues te paras... > > Si encuentro tiempo intento elaborar la respuesta más tarde. > > El 6/8/14, Alexandro Colorado <j...@oooes.org> escribió: >> Gracias, por resolver mi duda, aunque el script no me funciono supongo >> por que al tener doctypes u algo malformado. Alguna sugerencia en como >> ignorar el parsing a partir de ciertas lineas como el <body>? Auqnue >> no sean parte de HTML.parse. >> >> Gracias. >> >> On 8/6/14, Kiko <kikocorre...@gmail.com> wrote: >>> 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/ >>>> >>> >> >> >> -- >> 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/ >
-- 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/