我抓取網站XPath表達式不工作在網站上
這是我的路
response.xpath(".//div[@id='search_listing']/ul[@id='listings']/li[@class='item']")
我得到空的結果,但正如你看到的波紋管,有值:
我起訴scrapy
我抓取網站XPath表達式不工作在網站上
這是我的路
response.xpath(".//div[@id='search_listing']/ul[@id='listings']/li[@class='item']")
我得到空的結果,但正如你看到的波紋管,有值:
我起訴scrapy
查看額外的s在item
課後步伐:
<li class="item ">...
HERE^
這就是爲什麼你的@class='item'
條件是不工作的原因。你將不得不使用contains()
爲部分匹配:
.//div[@id='search_listing']/ul[@id='listings']/li[contains(@class, 'item')]
我雖然考慮CSS選擇一個更簡潔的定位技術:
response.css("#search_listing #listings .item")
我試過你的代碼'container = response.xpath(「.// div [@ id ='search_listing']/ul [@ id ='listings']/li [contains(@ class ='item')]」) '但我得到錯誤,請問是否正確? –
錯誤是:'無效的XPath:.// div [@ id ='search_listing']/ul [@ id ='listings']/li [contains(@ class ='item')]' –
@MarcoDinatsoli note how你正在使用'contains()' - 應該是逗號而不是'=',就像在答案中一樣。 – alecxe
工作對我來說在scrapy殼..獲得非空列表。 – alecxe