こんにちはすべて私はxpathの問題に起因すると思ういくつかの問題を抱えています。lxmlパッケージのhtmlモジュールを使用して、いくつかのデータを取得しようとしています。私は以下で最も単純化された状況を提供していますが、私が使用しているhtmlははるかに醜いことを覚えておいてください。
<table>
<tr>
<td>
<table>
<tr><td></td></tr>
<tr><td>
<table>
<tr><td><u><b>Header1</b></u></td></tr>
<tr><td>Data</td></tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
私が本当に必要としているのは、ヘッダーテキスト「Header1」があるため、深くネストされたテーブルです。私はそのようにしようとしています:
from lxml import html
page = '...'
tree = html.fromstring(page)
print tree.xpath('//table[//*[contains(text(), "Header1")]]')
しかし、それは私にすべてのテーブル要素を与えます。このテキストを含む1つのテーブルが必要です。私は何が起こっているのか理解していますが、いくつかの厄介な正規表現を破る以外に、これを行う方法を理解するのに苦労しています。何かご意見は?