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中的exec、eval使用实例
Sep 23 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
Python的迭代器和生成器
Jul 29 Python
python3中set(集合)的语法总结分享
Mar 24 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
PyQt5组件读取参数的实例
Jun 25 Python
Tensorflow 实现释放内存
Feb 03 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Python %r和%s区别代码实例解析
Apr 03 Python
Python新手学习标准库模块命名
May 29 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
Jun 01 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
Jan 24 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
php简单定时执行任务的实现方法
2015/02/23 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python3.6数独问题的解决
2019/01/21 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
增大python字体的方法步骤
2020/07/05 Python
基于Python正确读取资源文件
2020/09/14 Python
中软国际Java程序员机试题
2012/08/19 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
廉洁校园实施方案
2014/05/25 职场文书
学校节能减排方案
2014/06/13 职场文书
2014年司法所工作总结
2014/11/22 职场文书
文言文辞职信
2015/02/28 职场文书
2015年教师节慰问信
2015/03/23 职场文书