python 爬虫:利用selenium抓取cookie进行模拟登陆

  • 说明:
    • selenium抓取cookie模拟登陆,理论上可以登录任何网站。以下两段代码分别介绍抓取cookie,和携带cookie登录。
  • 抓取cookie.json代码
  • import json
    from selenium import webdriver
    import time
    
    url = 'https://www.taobao.com/'
    driver = webdriver.Chrome()
    
    driver.get(url)
    # 卡主浏览器 回车继续运行
    input('请手动登录')
    
    # 获取cookie并通过json模块将dict转换成str
    dictCookies = driver.get_cookies()   #  核心
    jsonCookies = json.dumps(dictCookies)
    print(jsonCookies)
    # 登录完成后将cookie保存到本地文件
    with open('taobao.json','w') as f:
        f.write(jsonCookies)
    time.sleep(3)
    driver.close()

     

  • 携带cookie进行模拟登陆
    • 携带cookie登录后需要刷新页面才会显示登录,以下代码已经使用代码进行页面刷新
    • import json
      from selenium import webdriver
      import time
      
      url = 'https://www.taobao.com/'
      driver = webdriver.Chrome()
      
      driver.get(url)
      # 卡主浏览器 回车继续运行
      input('回车自动登录')
      
      driver.get(url)
      # 删除第一次建立连接时的cookie
      driver.delete_all_cookies()
      
      # 读取本地的cookie文件
      with open('taobao.json','r',encoding='utf8') as f:
          listCookies = json.loads(f.read())
      
      for cookie in listCookies:
          driver.add_cookie({
              "domain":".taobao.com",
              "expiry":1557891103,
              "httpOnly":cookie['httpOnly'],
              "name":cookie['name'],
              "path":"/",
              "secure":cookie['secure'],
              "value":cookie['value']
          })
      # 读取完cookie刷新页面
      driver.refresh()
      input('按回车键退出')
      driver.close()

       

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值