Estoy tratando de obtener un valor de una página HTML utilizando la biblioteca HTMLParser de python. El valor que quiere agarrar está dentro de este elemento html:¿Cómo puedo usar la biblioteca HTMLParser de python para extraer datos de una etiqueta div específica?
...
<div id="remository">20</div>
...
Ésta es mi clase HTMLParser hasta ahora:
class LinksParser(HTMLParser.HTMLParser):
def __init__(self):
HTMLParser.HTMLParser.__init__(self)
self.seen = {}
def handle_starttag(self, tag, attributes):
if tag != 'div': return
for name, value in attributes:
if name == 'id' and value == 'remository':
#print value
return
def handle_data(self, data):
print data
p = LinksParser()
f = urllib.urlopen("http://domain.com/somepage.html")
html = f.read()
p.feed(html)
p.close()
Puede alguien me punto en la dirección correcta? Quiero que la funcionalidad de clases para obtener el valor 20.
Si usted está haciendo una gran cantidad de análisis de HTML, trate [Hermosa sopa] (http://www.crummy.com/software/BeautifulSoup/). – zvone
¿Esa biblioteca está incluida como una biblioteca std python? Lo he encontrado, pero decidí seguir con HTMLParser. – Martin
@zvone ¿Por qué BeautifulSoup es mejor para el análisis de html? ¿Sigue siendo un módulo recomendado? Gracias. –