python3实现读取chrome浏览器cookie


Posted in Python onJune 19, 2016

好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的cookies取出来用呢?

直到昨天看到代码《python模拟发送动弹》,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练手,之后的代码也会用这个功能。

直接从浏览器中取出cookies,有以下好处和用途:

1、不需要配置用户密码,直接读出浏览器中cookies就得到一样的身份,用来完成各种自动化操作。

2、部分网站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使用相同的Session,不用进行登录操作,不会互相挤下线。

3、全是废话,我不想写了,行吗?

使用到软件的sqlite3的图形管理工具有:

SQLiteDatabaseBrowserPortable https://3water.com/database/251740.html

sqlitespy https://3water.com/database/18390.html

使用到的python库有:

sqlite3 python标准库,不需要下载安装

pywin32 pywin32 windows的API库,让python可以调用各种各样的windows API,代码中用到的win32crypt就是属于pywin32库的一部分。 建议手动下载对应版本pywin32安装 https://3water.com/softs/416136.html https://3water.com/softs/416131.html

requests requests是一个相对比较简单易用的http库,用来代替urllib23之类的标准库,使用命令安装pip install requests

看代码:

import os
import sqlite3
import requests
from win32.win32crypt import CryptUnprotectData

def getcookiefromchrome(host='.oschina.net'):
  cookiepath=os.environ['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
  sql="select host_key,name,encrypted_value from cookies where host_key='%s'" % host
  with sqlite3.connect(cookiepath) as conn:
    cu=conn.cursor()    
    cookies={name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
    print(cookies)
    return cookies

#运行环境windows 2012 server python3.4 x64 chrome 50
#以下是测试代码
#getcookiefromchrome()
#getcookiefromchrome('.baidu.com')

url='http://my.oschina.net/'

httphead={'User-Agent':'Safari/537.36',}

#设置allow_redirects为真,访问http://my.oschina.net/ 可以跟随跳转到个人空间
r=requests.get(url,headers=httphead,cookies=getcookiefromchrome('.oschina.net'),allow_redirects=1)
print(r.text)
Python 相关文章推荐
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
使用pandas的DataFrame的plot方法绘制图像的实例
May 24 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
linux安装python修改默认python版本方法
Mar 31 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
Python Http请求json解析库用法解析
Nov 28 Python
python编程的核心知识点总结
Feb 08 Python
python3 实现的人人影视网站自动签到
Jun 19 #Python
python3实现暴力穷举博客园密码
Jun 19 #Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 #Python
Python中使用装饰器来优化尾递归的示例
Jun 18 #Python
举例讲解Python面向对象编程中类的继承
Jun 17 #Python
浅谈python为什么不需要三目运算符和switch
Jun 17 #Python
python运行时间的几种方法
Jun 17 #Python
You might like
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
JSON取值前判断
2014/12/23 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python 元组(Tuple)操作详解
2014/03/11 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python中import与from方法总结(推荐)
2019/03/21 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
小区门卫岗位职责
2013/12/31 职场文书
面试后感谢信
2014/02/01 职场文书
领导党性分析材料
2014/02/15 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
环保项目建议书
2014/08/26 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
Python+Appium实现自动抢微信红包
2021/05/21 Python