0
如何用scrapy從this page刮取產品清單?如何刮取無限滾動產生的數據?
我已經嘗試了Ajax請求的URL瀏覽器發送:
https://www.amazon.cn/gp/profile/A34PAP6LGJIN6N/more?next_batch_params%5Breview_offset%5D=10&_=1469081762384
但它返回404
。
如何用scrapy從this page刮取產品清單?如何刮取無限滾動產生的數據?
我已經嘗試了Ajax請求的URL瀏覽器發送:
https://www.amazon.cn/gp/profile/A34PAP6LGJIN6N/more?next_batch_params%5Breview_offset%5D=10&_=1469081762384
但它返回404
。
您需要複製您在請求中看到的標頭。
這個,你需要更新你的scrapy.Request.headers
屬性
。幾乎沒有這些值。大多數情況下,您可以跳過Cookie,因爲scrapy自己管理這個cookie,並且通常對於像這樣的ajax請求來說是沒有意義的。
對於這種情況,我設法通過僅複製X-Requested-With
標題獲得成功的響應。這個頭文件用來表示ajax請求正在發生。
實際上,你可以測試出,並設計這個實時:
scrapy shell <url>
# gives you 403
request.headers.update({'X-Requested-With': 'XMLHttpRequest'})
request.headers.update({'User-Agent': <some user agent>})
fetch(request)
# now the request is redownloaded and it's 200!