正如Gaby所說,內容是動態加載的。你可以看到這一點:
- 打開網站在Chrome報廢(火狐也有 的方式做這件事)
- 按F12打開DevTools
- 選擇「網絡」標籤
- 選擇 'XHR' 作爲過濾
- 進行搜索(或重新加載網頁)
XHR filter
你會看到項目的列表,你想要的是:
搜索CID = 5168 & isFacetsEnabled =真& globalShippingCountryCode = & globalShippingCurrencyCode = &區域= EN_US & PAGEID = 0
如果你點擊它,你可以看到帶有標題的HTTP請求和你想要的所有數據的響應。
要在scrapy上做到這一點有點複雜,您必須取消此鏈接,但使用「POST」方法而不是默認(「GET」)。從scrapy蜘蛛做到這一點:
yield scrapy.Request(url, self.parse_data, method="POST", headers=headers, body=body)
凡URL應該是你在XHR過濾器發現一個,使用的方法是「POST」,您應該複製我們先前發現的頭部和身體去所有參數都針對您正在搜索的內容。 從那裏你會得到一個JSON響應,你可以保存到一個文件或做任何你想要的。
如果你需要更多的細節讓我知道。
內容與AJAX請求一起進來。所以你會使用這些網址。 (*它是http://www.gap.com/resources/productSearch/v1/search?cid=5168和JSON格式*) –