Comment puis-je itérer sur toutes les variables ayant un attribut spécifique avec une valeur spécifique? Par exemple, disons que nous avons besoin de data1, data2 etc ... seulement.Trouver tous les points ayant une valeur d'attribut spécifique
<html>
<body>
<invalid html here/>
<dont care> ... </dont care>
<invalid html here too/>
<interesting attrib1="naah, it is not this"> ... </interesting tag>
<interesting attrib1="yes, this is what we want">
<group>
<line>
data
</line>
</group>
<group>
<line>
data1
<line>
</group>
<group>
<line>
data2
<line>
</group>
</interesting>
</body>
</html>
J'ai essayé BeautifulSoup mais il ne peut pas analyser le fichier. L'analyseur de lxml, cependant, semble fonctionner:
broken_html = get_sanitized_data(SITE)
parser = etree.HTMLParser()
tree = etree.parse(StringIO(broken_html), parser)
result = etree.tostring(tree.getroot(), pretty_print=True, method="html")
print(result)
Je ne suis pas au courant de son API, et je ne pouvais pas comprendre comment utiliser soit getIterator ou XPath.
Avez-vous essayé de changer le type MIME en XML? certains parseurs sont difficiles ... – JKirchartz
Avec lxml utilisant xpath semble être assez facile, donner une chance aux docs :) http://codespeak.net/lxml/xpathxslt.html –