python3实现读取chrome浏览器cookie
好⼏年前我在做⼀些⾃动化的脚本时,脑⼦⾥也闪过这样的想法:能不能直接把浏览器的cookies取出来⽤呢?
直到昨天看到代码《python模拟发送动弹》,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练⼿,之后的代码也会⽤这个功能。
直接从浏览器中取出cookies,有以下好处和⽤途:
1、不需要配置⽤户密码,直接读出浏览器中cookies就得到⼀样的⾝份,⽤来完成各种⾃动化操作。
2、部分⽹站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使⽤相同的Session,不⽤进⾏登录操作,不会互相挤下线。
3、全是废话,我不想写了,⾏吗?
使⽤到软件的sqlite3的图形管理⼯具有:
使⽤到的python库有:
sqlite3 python标准库,不需要下载安装
requests requests是⼀个相对⽐较简单易⽤的http库,⽤来代替urllib23之类的标准库,使⽤命令安装pip install requests
看代码:
import os
import sqlite3
import requests
from win32.win32crypt import CryptUnprotectData
def getcookiefromchrome(host='.oschina'):
viron['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
sql="select host_key,name,encrypted_value from cookies where host_key='%s'" % host
t(cookiepath) as conn:
cu=conn.cursor()
cookies={name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value ute(sql).fetchall()}
session如何设置和读取print(cookies)
return cookies
#运⾏环境windows 2012 server python3.4 x64 chrome 50
#以下是测试代码
#getcookiefromchrome()
#getcookiefromchrome('.baidu')
url='my.oschina/'
httphead={'User-Agent':'Safari/537.36',}
#设置allow_redirects为真,访问my.oschina/ 可以跟随跳转到个⼈空间
(url,headers=httphead,cookies=getcookiefromchrome('.oschina'),allow_redirects=1)
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论