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将字符串转换成数组的方法
Apr 29 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
分享Pycharm中一些不为人知的技巧
Apr 03 Python
带你认识Django
Jan 15 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
python yield关键词案例测试
Oct 15 Python
Python求平面内点到直线距离的实现
Jan 19 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
mysql 搜索之简单应用
2007/04/27 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
使用Python绘制图表大全总结
2017/02/11 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
土木工程专业个人求职信
2013/12/05 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
大学英语专业求职信
2014/06/21 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
五一晚会主持词
2015/07/01 职场文书
2015年暑假生活总结
2015/07/13 职场文书
英语教学课后反思
2016/02/15 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS