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编写的微博应用
Oct 17 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python 将pdf转成图片的方法
Apr 23 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
python实现简单日志记录库glog的使用
Dec 13 Python
keras得到每层的系数方式
Jun 15 Python
详解Python中的Lock和Rlock
Jan 26 Python
python 解决微分方程的操作(数值解法)
May 26 Python
Python 匹配文本并在其上一行追加文本
May 11 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
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
php去掉文件前几行的方法
2015/07/29 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
初识ThinkPHP控制器
2016/04/07 PHP
两个Javascript小tip资料
2010/11/23 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
Form表单及django的form表单的补充
2019/07/25 Python
Python通过len函数返回对象长度
2020/10/22 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
财务出纳岗位职责
2014/02/03 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
年会邀请函范文
2015/01/30 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
费城故事观后感
2015/06/10 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
七个Python必备的GUI库
2021/04/27 Python
在pycharm中无法import所安装的库解决方案
2021/05/31 Python