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


Posted in Python onJanuary 19, 2021

首先是获取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 相关文章推荐
python实现进程间通信简单实例
Jul 23 Python
在Python的Django框架中包装视图函数
Jul 20 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
Sanic框架Cookies操作示例
Jul 17 Python
python代码编写计算器小程序
Mar 30 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 Python
pytorch中的numel函数用法说明
May 13 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 #Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 #Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 #Python
用Python自动清理系统垃圾的实现
Jan 18 #Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 #Python
python爬虫爬取图片的简单代码
Jan 18 #Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 #Python
You might like
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
php集成动态口令认证
2016/07/21 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
Jquery选择子控件"大于号"和" "区别介绍及使用示例
2013/06/25 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python3字符串学习教程
2015/08/20 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
如何利用cmp命令比较文件
2013/09/23 面试题
恶搞卫生巾广告词
2014/03/18 职场文书
公共场所禁烟标语
2014/06/25 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
加薪申请报告范本
2015/05/15 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android