注册
登录
提问时间:2018/10/10 16:22:05    楼主:未知网友   阅读量:249

我们知道,在爬虫工作中,一些需要登录的网站中的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方法

10101.jpg

return [FormRequest("http://qgc.qq.com/309o916014x/",cookies=cookies,callback=self.parse)]
 
同时还要在settings启动:
ROBOTSTXT_OBEY=False