我正在使用CrawlSpider類來抓取網站,我想修改每個請求中發送的標頭。具體而言,我想在請求中添加引用者。如何將標題添加到Scrapy CrawlSpider請求?
作爲每this question,我在響應解析功能檢查
response.request.headers.get('Referer', None)
和Referer
頭不存在。我認爲這意味着Referer沒有被提交請求(除非網站沒有返回它,我不確定)。
我一直無法弄清楚如何修改請求的標題。同樣,我的蜘蛛來自CrawlSpider。覆蓋CrawlSpider的_requests_to_follow
或爲規則指定process_request
回調將不起作用,因爲引用者不在這些時間範圍內。
有誰知道如何動態修改請求標頭?
默認情況下,在BASE_Settings中RefererMiddleware處於活動狀態,因此無需在蜘蛛設置中激活它們。 –
@akhterwahab嗯。在將我的項目設置添加到以前未修改過的項目設置中之前,我的請求標題中沒有提供查閱者。我確實看到該設置的默認值爲true。儘管如此,他們並沒有爲我工作。 – CatShoes
btw:response.request.headers.get('Referer',None)是正確的用法。 「推薦人」不會給出正確的結果。 – BgRva