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解释执行原理分析
Aug 22 Python
Django日志模块logging的配置详解
Feb 14 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
django-rest-swagger对API接口注释的方法
Aug 29 Python
python树的同构学习笔记
Sep 14 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 Python
利用Python将多张图片合成视频的实现
Nov 23 Python
python音频处理的示例详解
Dec 23 Python
python函数指定默认值的实例讲解
Mar 29 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学习之数组值的操作
2011/04/17 PHP
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
详解React中setState回调函数
2018/06/14 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python数据结构之翻转链表
2017/02/25 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python实现文本界面网络聊天室
2018/12/12 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python代码如何注释
2020/06/01 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
合同专员岗位职责
2013/12/18 职场文书
公司同意接收函
2014/01/13 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA