scrapy中如何设置应用cookies的方法(3种)


Posted in Python onSeptember 22, 2020

本人是python3.6

总的来说,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方法,在scrapy的Request函数的参数中传递cookies

# 重载start_requests方法
  def start_requests(self):
    headers = {
          "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"}
    # 指定cookies
    cookies = {
          'uuid': '66a0f5e7546b4e068497.1542881406.1.0.0',
          '_lxsdk_cuid': '1673ae5bfd3c8-0ab24c91d32ccc8-143d7240-144000-1673ae5bfd4c8',
          '__mta': '222746148.1542881402495.1542881402495.1542881402495.1',
          'ci': '20',
          'rvct': '20%2C92%2C282%2C281%2C1',
          '_lx_utm': 'utm_source%3DBaidu%26utm_medium%3Dorganic',
          '_lxsdk_s': '1674f401e2a-d02-c7d-438%7C%7C35'}

        # 再次请求到详情页,并且声明回调函数callback,dont_filter=True 不进行域名过滤,meta给回调函数传递数据
    yield Request(detailUrl, headers=headers, cookies=cookies, callback=self.detail_parse, meta={'myItem': item}, dont_filter=True)

同时还要在setting中设置:

ROBOTSTXT_OBEY=False

到此这篇关于scrapy中如何设置应用cookies的方法(3种)的文章就介绍到这了,更多相关scrapy设置cookies内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
深入Python解释器理解Python中的字节码
Apr 01 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python 多进程和数据传递的理解
Oct 09 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
PyQt实现界面翻转切换效果
Apr 20 Python
python绘制中国大陆人口热力图
Nov 07 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
如何Python使用re模块实现okenizer
Apr 30 Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 #Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 #Python
python 如何区分return和yield
Sep 22 #Python
Python中三维坐标空间绘制的实现
Sep 22 #Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 #Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 #Python
Python如何获取文件路径/目录
Sep 22 #Python
You might like
PHP聊天室技术
2006/10/09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
银行实习生的自我评价
2014/01/13 职场文书
请假条范文大全
2014/04/10 职场文书
保护地球的标语
2014/06/17 职场文书
高效课堂标语
2014/06/26 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
电影雨中的树观后感
2015/06/15 职场文书
技术入股协议书
2016/03/22 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android