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实现逻辑回归的方法示例
May 02 Python
详解Python自建logging模块
Jan 29 Python
Python使用wxPython实现计算器
Jan 30 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
python实现彩票系统
Jun 28 Python
python实现决策树分类(2)
Aug 30 Python
python批量识别图片指定区域文字内容
Apr 30 Python
Python分支语句与循环语句应用实例分析
May 07 Python
Python如何定义有可选参数的元类
Jul 31 Python
使用Python封装excel操作指南
Jan 29 Python
python批量更改目录名/文件名的方法
Apr 18 Python
python 自动刷新网页的两种方法
Apr 20 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
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
动易数据转成dedecms的php程序
2007/04/07 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
收集的几个Python小技巧分享
2014/11/22 Python
Python实现股市信息下载的方法
2015/06/15 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
pycharm创建一个python包方法图解
2019/04/10 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
Python字典dict常用方法函数实例
2020/11/09 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
中专生求职自荐信范文
2013/12/22 职场文书
人力资源经理自我评价
2014/01/04 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
无毒社区工作方案
2014/05/23 职场文书
工程承包协议书
2014/10/20 职场文书
大学生自荐信范文
2015/03/05 职场文书
解析Redis Cluster原理
2021/06/21 Redis