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网络编程之读取网站根目录实例
Sep 30 Python
Python 功能和特点(新手必学)
Dec 30 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
Python反射和内置方法重写操作详解
Aug 27 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
Python正则表达式急速入门(小结)
Dec 16 Python
django中related_name的用法说明
May 20 Python
python golang中grpc 使用示例代码详解
Jun 03 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 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
php短域名转换为实际域名函数
2011/01/17 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
Python实现数值积分方式
2019/11/20 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
经典c++面试题三
2015/07/08 面试题
优良学风班申请材料
2014/02/13 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
四下基层实施方案
2014/03/28 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
新闻传播专业求职信
2014/07/22 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书