「Scrapy 爬虫框架」设置cookies方法说明和应用举例

文章目录

  • 内容介绍
  • COOKIES_ENABLED 设置
  • COOKIES_ENABLED 使用说明

内容介绍

开发环境为 Python3.6,Scrapy 版本 2.4.x ,爬虫项目全部内容索引目录

看懂Python爬虫框架,所见即所得一切皆有可能

本文介绍在 Scrapy 爬虫框架使用时,经常会使用到的cookies设置以及说明。

COOKIES_ENABLED 设置

使用自定义cookie

# 等于默认注释状态下
COOKIES_ENABLED = True

使用settings的cookie

COOKIES_ENABLED = False

COOKIES_ENABLED 使用说明

cookie的添加方式

在 Scrapy 中 Requests 类,可以使用 cookies 和 headers 两种方式。

使用自定义的cookie方法

下面两种设置情况相等

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

COOKIES_ENABLED = True

  1. Scrapy 启动后会自动通过 CookiesMiddleware 中间件,为请求自动添加响应的 cookie。
  2. 如果使用 cookies 参数添加 cookie ,会做为额外的 cookie 添加到请求头中,并且在请求头中 cookies 参数的 cookie 数据优先,响应的 response 中的 cookie 不会变。
  3. 如果使用 headers 参数添加 cookie,被添加的 cookie 会被响应 cookie 完全覆盖。说明在 headers 里设置的 cookie 无效。

COOKIES_ENABLED = False

  1. Scrapy 会关闭 CookiesMiddleware 中间件,response 设置的 cookie 也同时失效,无 cookie 的状态。
  2. cookies 设置的 cookie 无效,headers 设置的 cookie 有效。

说那么多看个表格就明白了

是否使用cookie 设置状态 说明备注
不使用cookie COOKIES_ENABLED = False headers 里不添加 cookie内容
自动设置cookie COOKIES_ENABLED = True 用cookies参数全局调整 cookie 设置
自定义cookie COOKIES_ENABLED=False 使用 headers 设置 cookie

你可能感兴趣的:(Python,爬虫基础和项目管理,cookie,python,scrapy,爬虫)