小编pvt*_*pns的帖子

Python:在特定元素上本地使用xpath

我正试图从带有xpath的页面获取链接.问题是我只想要表中的链接,但是如果我在整个页面上应用xpath表达式,我将捕获我不想要的链接.

例如:

tree = lxml.html.parse(some_response)
links = tree.xpath("//a[contains(@href, 'http://www.example.com/filter/')]")
Run Code Online (Sandbox Code Playgroud)

问题是将表达式应用于整个文档.我找到了我想要的元素,例如:

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/')]")
Run Code Online (Sandbox Code Playgroud)

但这似乎也在整个文档中执行查询,因为我仍在捕获表外的链接.此页面显示"当在元素上使用xpath()时,将针对元素(如果是相对的)或针对根树(如果是绝对的)评估XPath表达式:".那么,我使用的是绝对表达式,我需要使它相对吗?是吗?

基本上,我怎样才能只过滤此表中存在的元素?

python xpath lxml

39
推荐指数
1
解决办法
1万
查看次数

标签 统计

lxml ×1

python ×1

xpath ×1