python-cookie http.cookiejar用法
python - cookie http.cookiejar模块
- 一. cookie
- 1.简单介绍
- 2.cookie的参数
- 3.补充
- 4.实例
- 二. http.cookiejar模块
- 1.主要的类及作用
- 2.实例
一. cookie
1.简单介绍
cookie是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密);cookie存储数的据量是有限的,不同的浏览器有不同的存储大小,但一般不超过4KB,因此cookie只能存储一些小量的数据
2.cookie的参数
NAME :cookie的名称
VALUE :cookie的值
Expires :cookie的过期时间
Path :cookie的使用路径
Domain :cookie作用的域名
SECURE :是否在http协议下起作用
3.补充
cookie:在请求头(headers)中,表示http请求通过cookie字段通告服务端
set-cookie:在响应头(Request headers)中,表示的是http响应报文通过set-cookie通知客户端需要保护如下的cookie数据
cookie的格式:
set-cookie:
NAME=VALUE;Expires/Maxage=DATA;Path=PATH;Domain=DOMAN_NAME;SECURE
4.实例
此实例仅供参考
#利用cookie获取,对知乎网站发出请求并获取网页源代码
from urllib import requesturl = 'https://www.zhihu.com/hot'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4181.9 Safari/537.36','cookie': '_zap=9b17672f-c366-4009-b844-c97f5399887d; _xsrf=SWFLre2nSyaV6FubjwU8zocaLK0yCFLu; d_c0="AHDa9rT3jBGPTreBfOUIlbEGbnybWacyKYU=|1594297951"; _ga=GA1.2.731389899.1594297949; tshl=; tst=r; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1594865594,1594865722,1594904121,1594998557; capsion_ticket="2|1:0|10:1594998557|14:capsion_ticket|44:YjZmZTdkZWUxNWJjNDFhYzkyYWRlNWU4NWM3YjU0NzA=|85fb76e0c883ab567939fe85d8d2d8c4626ae3881fe1bef7ccfee1b5b91c7150"; SESSIONID=JP11PSP6QtX3jQu1SiDszlnmvn8otdcS1n0d2opJooT; _gid=GA1.2.1529568626.1594998558; _gat_gtag_UA_149949619_1=1; JOID=VFwTA0m-twr9_z29RLhR3NxQqipV9uU9zqts73TrwVDIl2jKd6AMH6T5PblAJhuiA5DTVwm1VoJYBpcOd_0gHcA=; osd=VVsQAkm_sAn8_zy6R7lR3dtTqypU8eY8zqpr7HXrwFfLlmjLcKMNH6X-PrhAJxyhApDSUAq0VoNfBZYOdvojHMA=; z_c0="2|1:0|10:1594998568|4:z_c0|92:Mi4xNXQ0NUV3QUFBQUFBY05yMnRQZU1FU1lBQUFCZ0FsVk5LQTNfWHdEaC12d3NNR3RuQi1QQ3B6UW1DZGRoOGdxQldn|03bf74320c177be7cfb74e24bb8439ed2ac981d484916b0d4aab863a6fb944fb"; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1594998594; KLBRSID=76ae5fb4fba0f519d97e594f1cef9fab|1594998595|1594998555'
}
req = request.Request(url,headers=headers) #调用Request类对头部信息进行处理,并返回一个对象
resp = request.urlopen(req) #对上一个对象发出请求,并获取一个对象
print(resp.read().decode()) #对上面的对象进行读取,并进行转码(转为utf-8编码)
输出的结果
二. http.cookiejar模块
1.主要的类及作用
主要的类有:CookieJar、FileCooKieJar、MozillaCookieJar
、LWPCookieJar
1.CookieJar
管理HTTPCookie值,存储HTTP请求生成的cookie,并向传出的HTTP请求添加cookie对象。整个cookie都存在内存中,对CookieJar实例进行回收后cookie也将丢失
2.FileCookieJar
包含的内容:(filename,delayload(加载的延迟)=None,policy(规则)=None);是CookieJar的延伸,通过检索cookie的信息并将cookie存储到文件中,filename是存储cookie的文件名,delayload为Ture时支持延迟访问的文件,
3.MozillaCookieJar
从FileCookieJar派生而来,创建与Mozill浏览器cookie.txt兼容FileCookieJar实例
4.LWPCookieJar
从FileCookieJar派生而来,创建与libwww-perl标准的set-Cookie3文件格式兼容的FileCookieJar实例
2.实例
方式1:
#保存百度的cookie信息
from urllib import request
from http.cookiejar import MozillaCookieJarcookiejar = MozillaCookieJar()
header = request.HTTPCookieProcessor(cookiejar)
opener = request.build_opener(header)
resq = opener.open('https://baidu.com')
cookiejar.save('cookies.txt') #以.txt格式文本保存cookie信息
方式2:
#保存百度的cookie信息
from urllib import request
from http.cookiejar import MozillaCookieJarcookiejar = MozillaCookieJar('cookie.txt')
header = request.HTTPCookieProcessor(cookiejar)
opener = request.build_opener(header)
resq = opener.open('https://baidu.com')
cookiejar.save()
python-cookie http.cookiejar用法相关推荐
- 详细记录python的range()函数用法
详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...
- python Pool常用函数用法总结
在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...
- python HDF5 h5py 的用法
python HDF5 h5py 的用法 核心概念 HDF5文件是包含两种对象的容器:数据集,它们是类似数组的数据集合:组,是类似文件夹的容器,用于存放数据集和其他组.使用h5py时要记住的最基本的事 ...
- 五分钟理解yield在python中的简单用法,让你不再迷惑
很多同学无论是在学习python还是使用python的过程中,都会遇到yield关键字,这个让人头大的问题,今天,就给大家分享一下我自学yield的心路历程 基本概念: (1)在 Python 中,使 ...
- python正则表达式re.sub用法
python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...
- Python 异常处理--raise函数用法
Python 异常处理--raise函数用法 参考文章: (1)Python 异常处理--raise函数用法 (2)https://www.cnblogs.com/darkgui34/p/405074 ...
- format函数python的顺序_[转载] Python中format函数用法
Python中format函数用法 format优点 format是python2.6新增的格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能 ...
- python ord()与chr()用法以及区别
python ord()与chr()用法以及区别 原文:http://blog.csdn.net/yulock/article/details/52904035 ord()函数主要用来返回对应字符的a ...
- java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...
java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...
最新文章
- python rpc 性能比较_Python与RPC -- (转)
- c语言铁路托运行李费用图,3.为铁路部门编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50kg...
- 逻辑斯谛回归模型( Logistic Regression,LR) 最大熵模型(Max Entropy,ME)
- php点链接直接现在文件吗,PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而...
- python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
- 最大子树和(洛谷-P1122)
- 计算机模拟做报童模型,用基于计算机随机模拟的下降法求解报童问题
- 中国科学院计算机研究生面试,19年中科院信工所考研经验分享【初试+复试】
- 线性代数之 实对称矩阵,正交对角化,二次型与正定矩阵
- 天猫运营和淘宝运营有哪些区别 天猫淘宝运营差异性
- 2019-9-2-win10-uwp-截图-获取屏幕显示界面保存图片
- 机器学习作业(第十八次课堂作业)
- 计算机在未来医学中的应用,【-通信传播论文:计算机技术在医学中的应用材料】...
- 2022年化工自动化控制仪表考试总结及化工自动化控制仪表模拟考试
- 冰蝎shell_冰蝎动态二进制加密WebShell特征分析
- Linux 功能强大的 路由器,一款功能强大的路由器系统-软路由-RouterOS
- int类型变量的取值范围?
- matlab三大重要数组之胞元数组
- matlab seawater,seawater
- 预见2019吴晓波年终秀演讲PPT整理