大家好,我遇到了一些我认为可以归因于 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")]]')
但这给了我所有的表格元素。我只想要一个包含此文本的表。我了解发生了什么,但除了打破一些讨厌的正则表达式之外,我很难弄清楚如何做到这一点。有什么想法吗?