selenium携带cookies模拟登陆CSDN的实现

 更新时间:2021年01月19日 09:40:43   作者:乎你  
这篇文章主要介绍了selenium携带cookies模拟登陆CSDN的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

首先是获取cookies保存到本地

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time  : 2020/12/20 11:00
# @Author : huni
# @File  : cookies获取.py
# @Software: PyCharm
from selenium import webdriver
from time import sleep
import json
if __name__ == '__main__':
  driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  driver.maximize_window()
  driver.get('https://passport.csdn.net/login?code=public')
  sleep(2)
  driver.find_element_by_xpath('/html/body/div[2]/div/div/div[1]/div[2]/div[5]/ul/li[1]/a').click()
  sleep(6)
  dictCookies = driver.get_cookies() # 获取list的cookies
  jsonCookies = json.dumps(dictCookies) # 转换成字符串保存
  with open('csdn_cookies.txt', 'w') as f:
    f.write(jsonCookies)
  print('cookies保存成功!')

然后是利用本地的cookies模拟登陆csdn首页

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time  : 2020/12/20 11:10
# @Author : huni
# @File  : 使用cookies登录csdn.py
# @Software: PyCharm
from selenium import webdriver
import json
def browser_initial():
  browser = webdriver.Chrome(executable_path='./chromedriver.exe')
  browser.maximize_window()
  browser.get(
    'https://www.csdn.net/')
  return browser

def log_csdn(browser):
  with open('csdn_cookies.txt', 'r', encoding='utf8') as f:
    listCookies = json.loads(f.read())

  # 往browser里添加cookies
  for cookie in listCookies:
    cookie_dict = {
      'domain': '.csdn.net',
      'name': cookie.get('name'),
      'value': cookie.get('value'),
      "expires": '',
      'path': '/',
      'httpOnly': False,
      'HostOnly': False,
      'Secure': False
    }
    browser.add_cookie(cookie_dict)
  browser.refresh() # 刷新网页,cookies才成功

if __name__ == "__main__":
  browser = browser_initial()
  log_csdn(browser)

cookies是有时间限制的,定期获取即可,登陆之后可以进行其他自动化操作,比如给别人的博客评论,点赞等等。

到此这篇关于selenium携带cookies模拟登陆CSDN的实现的文章就介绍到这了,更多相关selenium cookies模拟登陆内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用re模块正则提取字符串中括号内的内容示例

    Python使用re模块正则提取字符串中括号内的内容示例

    这篇文章主要介绍了Python使用re模块正则提取字符串中括号内的内容,结合实例形式分析了Python使用re模块进行针对括号内容的正则匹配操作,并简单解释了相关修正符与正则语句的用法,需要的朋友可以参考下
    2018-06-06
  • Python时间序列数据的预处理方法总结

    Python时间序列数据的预处理方法总结

    这篇文章主要介绍了Python时间序列数据的预处理方法总结,时间序列数据随处可见,要进行时间序列分析,我们必须先对数据进行预处理。时间序列预处理技术对数据建模的准确性有重大影响
    2022-07-07
  • selenium与xpath之获取指定位置的元素的实现

    selenium与xpath之获取指定位置的元素的实现

    这篇文章主要介绍了selenium与xpath之获取指定位置的元素的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python实现提取谷歌音乐搜索结果的方法

    Python实现提取谷歌音乐搜索结果的方法

    这篇文章主要介绍了Python实现提取谷歌音乐搜索结果的方法,涉及Python针对谷歌音乐相关信息的获取技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python celery分布式任务队列的使用详解

    python celery分布式任务队列的使用详解

    这篇文章主要介绍了python celery分布式任务队列的使用详解,Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery,需要的朋友可以参考下
    2019-07-07
  • matplotlib一维散点分布图的实现

    matplotlib一维散点分布图的实现

    本文主要介绍了matplotlib一维散点分布图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python os.path模块使用方法介绍

    python os.path模块使用方法介绍

    os.path 模块是系统路径操作模块,但实际的原理可以把它认为是处理包含斜杠("/")和反斜杠("\")字符串的模块,其中,斜杠("/")是 linux 系统下的路径分隔符,和反斜杠("\")是 windows 系统下的路径分隔符
    2022-08-08
  • python使用__slots__让你的代码更加节省内存

    python使用__slots__让你的代码更加节省内存

    如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的slots来实现。这篇文章主要给大家介绍了关于python如何使用__slots__让你的代码更加节省内存的相关资料,需要的朋友可以参考下
    2018-09-09
  • 在pycharm中运行js文件以及附加node.js下载步骤

    在pycharm中运行js文件以及附加node.js下载步骤

    js文件需要用node来运行,所以首先要安装node软件,下面这篇文章主要给大家介绍了关于在pycharm中运行js文件以及附加node.js下载步骤的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python和RabbitMQ进行消息传递和处理方式

    Python和RabbitMQ进行消息传递和处理方式

    这篇文章主要介绍了Python和RabbitMQ进行消息传递和处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论