html5libを使用して、xpathでクエリできるものにhtmlページを解析しようとしています。html5libのドキュメントはほぼゼロであり、この問題を理解するために多くの時間を費やしてきました。最終的な目標は、テーブルの2番目の行を引き出すことです。
<html>
<table>
<tr><td>Header</td></tr>
<tr><td>Want This</td></tr>
</table>
</html>
だからそれを試してみましょう:
>>> doc = html5lib.parse('<html><table><tr><td>Header</td></tr><tr><td>Want This</td> </tr></table></html>', treebuilder='lxml')
>>> doc
<lxml.etree._ElementTree object at 0x1a1c290>
それはよさそうだ、私たちが他に何を持っているか見てみましょう:
>>> root = doc.getroot()
>>> print(lxml.etree.tostring(root))
<html:html xmlns:html="http://www.w3.org/1999/xhtml"><html:head/><html:body><html:table><html:tbody><html:tr><html:td>Header</html:td></html:tr><html:tr><html:td>Want This</html:td></html:tr></html:tbody></html:table></html:body></html:html>
笑WUT?
真剣に。xpathを使用して必要なデータを取得することを計画していましたが、うまくいかないようです。それで、なにかお手伝いできますか?私はさまざまなライブラリとアプローチを試してみようと思っています。