我们知道,在爬虫工作中,一些需要登录的网站中的cookie设置很重要,一不留神就会被反爬虫策略识别,今天要说的是在scrapy框架中的几种设置cookie的方式。
一、setting中设置cookie的方法
1、当COOKIES_ENABLED是注释的时候,scrapy默认没有开启cookie;
2、当COOKIES_ENABLED设置为FALSE的时候,scrapy默认使用了settings中的cookie;
3、当当COOKIES_ENABLED设置为TRUE的时候,scrapy关闭settings中的cookie,使用自定义的cookie(若是没有自定义cookie,将导致整个请求没有cookie,从而获取页面失败)。
二、middlewares中设置cookie的方法
在middlewares中的downloadermiddleware中的process_request中配置cookie,配置如下:
request.cookies={
'':'',
'':'',
}
里面的cookie内容要以键值对的形式存在。
三、spider中重写start_requests方法
return [FormRequest("http://qgc.qq.com/309o916014x/",cookies=cookies,callback=self.parse)] 同时还要在settings启动: ROBOTSTXT_OBEY=False