我试图从xpath页面获取链接。问题是我只想要表格中的链接,但是如果我在整个页面上应用xpath表达式,我将捕获我不想要的链接。Python:在本地/特定元素上使用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/')]")
不过,这似乎是进行整个文档的查询为好,因为我还在捕捉表外的链接。 This page表示“当在元素上使用xpath()时,将根据元素(如果是相对值)或根树(如果是绝对值)评估XPath表达式:”。那么,我使用的是绝对表达式,我需要使它成为相对的?是吗?
基本上,我该如何去过滤只存在于这个表格内的元素?
但是,如果我添加点,它似乎没有递归搜索(因为它只搜索该元素)。至少这就是我所认为的,因为过滤器在相对之后不再起作用。有没有办法让它从那个元素以外进行搜索,而不是仅仅搜索它呢? – 2011-01-24 19:01:41