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脚本关闭文件操作的机制
Jun 28 Python
python基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
python实现决策树
Dec 21 Python
python tensorflow基于cnn实现手写数字识别
Jan 01 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
Jan 02 Python
python绘制多个曲线的折线图
Mar 23 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
使用python3 实现插入数据到mysql
Mar 02 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 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 adodb介绍
2009/03/19 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python reversed函数及使用方法解析
2020/03/17 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
Python页面加载的等待方式总结
2021/02/28 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
岗位廉洁从业承诺书
2014/03/28 职场文书
企业金融服务方案
2014/06/03 职场文书
战略合作意向书
2014/07/29 职场文书
整改通知书
2015/04/20 职场文书
监守自盗观后感
2015/06/10 职场文书
检讨书之工作不认真
2019/08/14 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
MySQL慢查询优化解决问题
2022/03/17 MySQL