Python:在本地/在特定元素上使用xpath
我正在尝试从具有xpath的页面获取链接。问题是我只希望表内的链接,但是如果我在整个页面上应用xpath表达式,则会捕获不需要的链接。
例如:
tree = lxml.html.parse(some_response)
links = tree.xpath("//a[contains(@href, 'http://www.example.com/filter/')]")
问题是将表达式应用于整个文档。我找到了想要的元素,例如:
tree = lxml.html.parse(some_response)
root = tree.getroot()
table = root[1][5] #for example
links = table.xpath("//a[contains(@href, 'http://www.example.com/filter/')]")
但这似乎也在整个文档中执行查询,因为我仍在捕获表外的链接。该页面说:“在元素上使用xpath()时,将根据元素(如果是相对的)或根树(如果是绝对的)来评估XPath表达式:”。因此,我使用的是一个绝对表达式,我需要使其相对吗?是吗
基本上,我该如何仅过滤该表内部存在的元素?