zoukankan      html  css  js  c++  java
  • Python爬虫selenium中get_cookies()和add_cookie()的用法

    在用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了。

  • 相关阅读:
    CentOS7升级系统内核
    ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)
    Android Studio小技巧
    ASP.NET 预编译笔记
    EnyimMemcached(64位)使用实例
    SQL Server Profiler小技巧——筛选请求
    [疑难杂症]解决实际开发中各种问题bug
    [整理]EF6.X更新了什么(版本历史中文版)
    史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~
    微信开发调试小工具进化→微信用户发送信息模拟器发布!——这标题起真是好数码暴龙的说
  • 原文地址:https://www.cnblogs.com/Summer-skr--blog/p/11663307.html
Copyright © 2011-2022 走看看