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

1
2
3
4
5
dictCookies = browser.get_cookies()
jsonCookies = json.dumps(dictCookies)
# print(jsonCookies)
with open('anquan.txt''w'as f:
   f.write(jsonCookies)

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

1
2
3
4
{'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()

1
2
3
4
5
6
7
8
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爬虫selenium中get_cookies()和add_cookie()的用法的更多相关文章

  1. selenium中get_cookies()和add_cookie()的用法

    在用selenium爬取网页的时候,有时候需要登陆,这时候用selenium获取cookie和携带cookie是很方便的,获取cookie可以通过内置的函数get_cookies(),它得到的是一组c ...

  2. [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

    转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...

  3. Python爬虫-selenium的使用(2)

    使用selenium打开chrome浏览器百度进行搜索 12345678910111213141516171819202122232425 from selenium import webdriver ...

  4. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  5. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

    前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(I ...

  6. python爬虫---selenium库的用法

    python爬虫---selenium库的用法 selenium是一个自动化测试工具,支持Firefox,Chrome等众多浏览器 在爬虫中的应用主要是用来解决JS渲染的问题. 1.使用前需要安装这个 ...

  7. [python爬虫] Selenium常见元素定位方法和操作的学习介绍

    这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...

  8. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  9. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

随机推荐

  1. php for循环a到z

    首先先介绍2个php内置函数 ord(string):函数返回字符串的首个字符的 ASCII 值.//string:必需.要从中获得 ASCII 值的字符串. chr(ascll): 函数从指定的 A ...

  2. .NET Core 傻瓜式CSRedisCore缓存

    作者:依乐祝原本链接:https://www.cnblogs.com/yilezhu/p/9947905.html 需要安装Redis   => https://www.runoob.com/r ...

  3. Vert.x(vertx)发送 HTTP/HTTPS请求

    Vert.x Web服务有两种协议,一种是HTTP,另外一种是使用ssl的HTTPS,请求的方式有五种,分别是get.post.put.delete.head.为了简单,服务端主要实现对HTTP协议的 ...

  4. Appium中app的元素定位

    app定位方式,本文只讲Android手机的定位方式. 前提条件是adb连接到模拟器或者是手机(具体连接方式这里不再讲解),证明已连接到设备 adb devices app元素定位工具一:UI Aut ...

  5. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile

    更换当前jdk版本为项目所需jdk版本即可

  6. 2019 小红书java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.小红书等公司offer,岗位是Java后端开发,因为发展原因最终选择去了小红书,入职一年时间了,也成为了面试官 ...

  7. zynq开发板外设配置演示

    有幸得到米尔电子zynq系列开发板Z-turn Board试用体验,下面说说我这款zynq系列的Z-TURN板子外设配置.从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多 ...

  8. PHP extension_loaded()用法

    一.extension_loaded()函数表示检查一个扩展是否成功加载 if(!extension_loaded('sysvmsg')) { echo "Please install sy ...

  9. java并发值多线程同步业务场景以及解决方案

    1.20个人排队同时访问2个购票窗口,同时能购票的只有两个人,当其中一个人买票完成后,18个人中的其中一个在占用窗口进行购买. 20个人相当于20个线程,2相当于资源,当18个人等待的时候,相当于线程 ...

  10. linux-ifconfig 查看没有IP

    ifconfig 查看没有IP,如图: 解决方法: 1.切换路径到 2.进入编辑ifcfg-ens33文件(文件名可能不同)模式 3.ONBOOT改为yes 4.点击ESC,输入:wq进行保存 5.输 ...