看了很多的文章, 感觉写的都有点扯淡 ,误人子弟 。

源码中 : 默认是注释掉的,但是上面的备注写的是开启状态(没关系, 不管)。

所以这个 就有了三个状态:

1. 第一个 源码的 注释状态:

# Disable cookies (enabled by default)
# COOKIES_ENABLED = False

这个状态下, 其实可以理解成  cookie 是开启的状态, 但是他的获取值 是通过源码的方法,scrapy直接获取网页的上层的cookie ,然后带到下一层去的。 

2. 第二种解开注释的情况下 :

# Disable cookies (enabled by default)
COOKIES_ENABLED = False

这个状态下的 cookie  是通过 headers 添加上去的,这个就是中间件里面的 包裹在头部里面

就是 setting源码中的

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

要是只是个别需要增加头部的,可以直接传参进去。 setting 写入时传全局的;

从这个里面去添加 cookie, token 等 一系列东西 。  或者 在请求的时候自己带上 ,源码里面 ,有 可以带的参数。headers  这个参数, 只是当前项目需要,可以在这里传

class Request(object_ref):def __init__(self, url, callback=None, method='GET', headers=None, body=None,cookies=None, meta=None, encoding='utf-8', priority=0,dont_filter=False, errback=None, flags=None, cb_kwargs=None):

3. 第三种状态 就是 设置为  true:

# Disable cookies (enabled by default)
COOKIES_ENABLED = True

这种的, 就是覆盖源码中的方法, 后面使用的是自己的cookie ,

需要在请求的时候 带上 cookies= cookie

cookie 自己设置到 setting  或者 spider 里面都可以。

这个设置是 全局设置的 。 以后的请求都是这个cookie 。

需要先声明他: cookie = '.......'

然后在请求的里面写上,

yield scrapy.Request(href,callback=self.get_parse,cookies=cookie,meta={'name': name})

  def start_requests(self):cookie = {}str_cookie = '你的cookie信息'str_cookie_items_list = str_cookie.split(';')for str_cookie_items in str_cookie_items_list:str_cookie_kw = str_cookie_items.split('=')cookie[str_cookie_kw[0].strip()] = str_cookie_kw[1].strip()yield scrapy.Request(url=self.start_urls[0],method='get',callback=self.parse,cookies=cookie)def parse(self, response, **kwargs):print(response.text)

三种 状态 , 要是你想说 自己不想带 任何 cookie 怎么办?

第二种方法, 直接把注释解开就可了, 自己没设置cookie ,就不会带上去。

有的文章说的, 爬虫的爬取效率问题 就把注释打开了, 就是这个自己没有设置cookie  所以请求的时候不会去验证。

结合自己的 业务需求 来选取设置。

每个请求需要自己的 cookie、 token的 , 请使用 第二种。

直接全局可以使用一个cookie 的 、只需要这个字段的 , 用第三种方式。

headers、cookie单独设立 ,两者的cookie 相斥, 简单理解就是 有 headers (第二种), 单独设置的cookie(第三种 就会失效),反之亦然。

故此:三种状态  已讲清晰。 还有疑问的  可留言。

关于 scrapy 中 COOKIES_ENABLED 设置 理解问题,看这里就够了相关推荐

  1. Requests 和 Scrapy 中的代理 IP 设置

    摘要: Requests 和 Scrapy 中的代理 IP 设置方法. 目标测试网页如下,请求该网页可以返回当前 IP 地址: ∞ http://icanhazip.com 先来说说 Requests ...

  2. AQS理解之五—并发编程中AQS的理解

    AQS理解之五-并发编程中AQS的理解 首先看下uml类图: AbstractOwnableSynchronizer 这个类定义是提供一个创建锁的基础,设置一个排它线程,帮助控制和监控访问. 先看下A ...

  3. CC2591和RFX2401C在zstack中的设置

    一,cc2591在zstack中的设置. CC2530和CC2591的连接图,最好按照下面的连接,这是zstack的默认连接端口,这样修改的代码最少,如果你完全弄明白了PA,EN的意思,你可以修改到其 ...

  4. 在scrapy框架中如何设置开放代理池达到反爬的目的

    我们在随机爬取某个网站的时候,比如对网站发出成千上万次的请求,如果每次访问的ip都是一样的,就很容易被服务器识别出你是一个爬虫.因此在发送请求多了之后我们就要设置ip代理池来随机更换我们的ip地址,使 ...

  5. 三十七、细说Scrapy中的settings设置

    @Author:Runsen 文章目录 爬虫项目结构 Scrapy默认设置 Scrapy深入下载中间件设置 导入配置from_crawler 代理设置 爬虫项目结构 建立完爬虫项目之后,都会有如下的结 ...

  6. Scrapy框架的学习(8.scrapy中settings.py里面配置说明以及怎样设置配置或者参数以及怎样使用)

    1.settings.py里面的参数说明 每个参数其对应的官方得文档的网址 # -*- coding: utf-8 -*-# Scrapy settings for tencent project # ...

  7. matlab中的logspace,matlab中的logspace(a,b,n)究竟怎么理解,看下例题,谁能详细解给我看...

    matlab中的logspace(a,b,n)究竟怎么理解,看下例题,谁能详细解给我看 来源:互联网  宽屏版  评论 2009-12-07 10:11:30 分类: 教育/科学 >> 学 ...

  8. CAD教程:CAD看图软件中怎么设置比例?

    CAD软件中默认的单位是国际单位毫米(mm),但是一般情况下需要绘制的图形是以米(mm)为单位的,这个时候就需要进行绘图比例的设置.那么在CAD看图软件中怎么进行比例设置呢?接下来的CAD教程小编就来 ...

  9. ANSYS Workbench中各种设置选项都不理解怎么办?(附实例surface effect)

    目录 摘要 如何查找各设置选项的含义 举例 PS 摘要 ANSYS Workbench中各种设置选项繁多,材料.网格.接触.边界等等. 例如,边界条件中又分为惯性边界条件.位移约束边界条件.荷载类边界 ...

最新文章

  1. Chrome安装路径
  2. c# 去除转义符号_c#语法
  3. c语言指针改良,重新认识C语言指针(上)(示例代码)
  4. 组件、局部的组件、表行组件、组件数据传递
  5. 苹果重奖库克,挽留其留任到2025年,网友:雷军又没机会了
  6. iOS模拟器上NSHomeDirectory和resourcePath的根路径不同
  7. java核心知识点学习----多线程间的数据共享的几种实现方式比较
  8. Volley 源码分析
  9. python——进程、线程、协程
  10. python函数传入对象
  11. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.J强迫症的序列
  12. C#程序设计--控制台程序输出上下三角形和菱形
  13. 朱嘉明:区块链将为再全球化提供基础结构和技术性制度(全文)
  14. 最新bilibili怎么下载视频
  15. 最新|解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
  16. DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATION error
  17. TransFuse论文
  18. 网络安全事件应急响应实战
  19. STM32L0xx_HAL_Driver库的使用——UART续
  20. Wscript对象详解

热门文章

  1. 【bzoj1070】[SCOI2007]修车 网络流
  2. 阿里卜居:从Caffe开始深度学习实战,徒手hack代码乐趣更多
  3. 这才是学习Linux的正确姿势
  4. 烽火Exmobi打造企业高效移动应用平台
  5. android131 360 04 手机安全页面
  6. Windows Server 2012 搭建Ftp服务器
  7. VR电力安全警示教育:身临其境体验事故伤害
  8. 支付宝支付之手机网站支付
  9. Vue学习笔记(二)组件化和模块化
  10. 支付宝付款码支付以及退款流程代码