我試圖從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