我是Python的新手,需要一些帮助来找到并使用lxml语法遍历HTML标签。以下是我要处理的用例:
HTML文件格式相当良好(但不完美)。页面上有多个表格,其中一个包含搜索结果集,另外还有一个头部和页脚。每个结果行都包含一个链接,用于搜索结果详细信息。
我需要找到包含搜索结果行的中间表格(这个我已经能够解决):
我需要找到这个表格中包含的链接(在这里我卡住了):self.mySearchTables = self.mySearchTree.findall(".//table") self.myResultRows = self.mySearchTables[1].findall(".//tr")
我需要链接的纯文本。如果我首先获得了链接元素,我想它会像
searchLink.text
这样。
for searchRow in self.myResultRows:
searchLink = patentRow.findall(".//a")
似乎无法实际定位链接元素。
最后,在lxml的实际API参考文档中,我找不到有关于find和findall调用的信息。我从在谷歌上找到的代码片段中获取了这些信息。我是否忽略了使用lxml有效查找和迭代HTML标记的方法?
.//tr/*/a
而不是.//tr//a
?前者在有额外的中间标签时无法找到任何内容,例如<tr><td><i><a href="...">..</a></i></td></tr>
。 - Charles Duffy