scrapy框架中cookie的設定路徑
阿新 • • 發佈:2018-12-14
總的來說,scrapy框架中設定cookie有三種方式。
第一種:setting中設定cookie
當COOKIES_ENABLED是註釋的時候scrapy預設沒有開啟cookie
當COOKIES_ENABLED沒有註釋設定為False的時候scrapy預設使用了settings裡面的cookie
當COOKIES_ENABLED設定為True的時候scrapy就會把settings的cookie關掉,使用自定義cookie
所以當我使用settings的cookie的時候,又把COOKIES_ENABLED設定為True,scrapy就會把settings的cookie關閉,
而且我也沒使用自定義cookie,導致整個請求根本沒有cookie,導致獲取頁面失敗。
總結:
如果使用自定義cookie就把COOKIES_ENABLED設定為True
如果使用settings的cookie就把COOKIES_ENABLED設定為False
第二種:middlewares中設定cookie
在middlewares中的downloadermiddleware中的process_request中配置cookie,配置如下:
request.cookies={
'':'',
'':'',
}
等等。裡面的cookie內容要以鍵值對的形式存在。
第三種:在spider爬蟲主檔案中,重寫start_request方法,
return [FormRequest("http://qgc.qq.com/309o916014x/",cookies=cookies,callback=self.parse)]
同時還要在setting中啟動:
ROBOTSTXT_OBEY=False