selenium中get_cookies()和add_cookie()的用法详解


Posted in Python onJanuary 06, 2020

在用selenium爬取网页的时候,有时候需要登陆,这时候用selenium获取cookie和携带cookie是很方便的,获取cookie可以通过内置的函数get_cookies(),它得到的是一组cookie,是由cookie组成的列表。单个的cookie是字典组成的,所有get_cookies()返回值是由字典组成的列表。

dictCookies = browser.get_cookies()
jsonCookies = json.dumps(dictCookies)
# print(jsonCookies)
with open('anquan.txt', 'w') as f:
  f.write(jsonCookies)

注意:这个jsonCookies是一个列表,是一个完整的cookie。

{'name': 'QCARJSESSIONID', 'value': 'BBmPcsfClCknfQX1cN2MLMgKXZGtFWqsBvjN9mbM9tmbL38hMmw4!1426878101', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': True}
{'name': 'BIGipServercar_qcar_poool', 'value': '1191316140.16671.0000', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': False}
{'name': 'chinainsuranceJSESSIONID', 'value': 'rkgncsfG8pnrhh8x1CvNy46zHplyLkTjyv1LL2hk4wDrkD9Mjz9Y!2078734058', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': True}
{'name': 'BIGipServercar_core_pool', 'value': '1191316140.17951.0000', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': False}

这样就获取到了cookie,那么如何使用呢,我们让浏览器对象携带cookies就行了,这时候用另外一个函数add_cookie()

with open('anquan.txt', 'r', encoding='utf8') as f:
   listCookies = json.loads(f.read())
 print('%%%%%%%%%%%%%%%%%', listCookies)
 for cookie in listCookies:
   obj.add_cookie(cookie)
 obj.get('https://qcar.apiins.com/qcar')
 # 读取完cookie刷新页面
 obj.refresh()

这样,我们就可以携带cookie,实现免登陆。有人说,你直接登陆不就完事了吗?有些应用场景还是用的到的,比如说验证码识别率不高,比如监视爬虫,定时爬虫,要求五分钟爬一次,两分钟爬一次,每次登陆会很麻烦。这个时候我们可以分开,一个专门登陆抓取cookie,30分钟更新一次cookie文件。另外一个读取cookie文件就ok了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python深入06——python的内存管理详解
Dec 07 Python
Apache如何部署django项目
May 21 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python游戏地图最短路径求解
Jan 16 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python中pymysql 模块的使用详解
Aug 12 Python
python如何将多个PDF进行合并
Aug 13 Python
Python猴子补丁知识点总结
Jan 05 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
python读取pdf格式文档的实现代码
Apr 01 Python
pytorch中的自定义反向传播,求导实例
Jan 06 #Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 #Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 #Python
基于python+selenium的二次封装的实现
Jan 06 #Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 #Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 #Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 #Python
You might like
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
JavaScript prototype对象的属性说明
2010/03/13 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
python 操作excel表格的方法
2020/12/05 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
给老婆的保证书范文
2014/04/28 职场文书
地震慰问信
2015/02/14 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书