1. 程式人生 > >scrapy框架中cookie的設定路徑

scrapy框架中cookie的設定路徑

總的來說,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