我可以以「嵌套」方式應用Xpath嗎? 我嘗試了下面的解決方案,我期待第一行返回一個<li>
元素,然後我可以通過應用2nd xpath表達式來提取它的鏈接。但是,我似乎做錯了,第二行仍然返回第一個全球找到,而不是在我的<li>
。將xpath應用於xpath操作的結果
aaa = response.xpath('//ul/li[@class="navitem")]')
bbb = aaa.xpath('//a/@href').extract()
我可以以「嵌套」方式應用Xpath嗎? 我嘗試了下面的解決方案,我期待第一行返回一個<li>
元素,然後我可以通過應用2nd xpath表達式來提取它的鏈接。但是,我似乎做錯了,第二行仍然返回第一個全球找到,而不是在我的<li>
。將xpath應用於xpath操作的結果
aaa = response.xpath('//ul/li[@class="navitem")]')
bbb = aaa.xpath('//a/@href').extract()
你可以使用:
aaa = response.xpath('//ul/li[@class="navitem")]')
bbb = aaa[0].xpath('.//a/@href').extract()
注意在第二的XPath期間.
。這將選擇li
元素的後代class="navitem"
的所有錨元素的@href
屬性。沒有期間.
,表達式aaa[0].xpath('//a/@href').extract()
將從整個文檔中的所有錨標記返回@href
屬性。
你有偷看過_aaa_嗎?它應該是一個列表。 – tdelaney
在這種情況下,我認爲單個xpath''// ul/li [@ class =「navitem」)] [1] // a''也可以。 – tdelaney