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用法相关推荐

  1. 详细记录python的range()函数用法

    详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...

  2. python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...

  3. python HDF5 h5py 的用法

    python HDF5 h5py 的用法 核心概念 HDF5文件是包含两种对象的容器:数据集,它们是类似数组的数据集合:组,是类似文件夹的容器,用于存放数据集和其他组.使用h5py时要记住的最基本的事 ...

  4. 五分钟理解yield在python中的简单用法,让你不再迷惑

    很多同学无论是在学习python还是使用python的过程中,都会遇到yield关键字,这个让人头大的问题,今天,就给大家分享一下我自学yield的心路历程 基本概念: (1)在 Python 中,使 ...

  5. python正则表达式re.sub用法

    python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...

  6. Python 异常处理--raise函数用法

    Python 异常处理--raise函数用法 参考文章: (1)Python 异常处理--raise函数用法 (2)https://www.cnblogs.com/darkgui34/p/405074 ...

  7. format函数python的顺序_[转载] Python中format函数用法

    Python中format函数用法 format优点 format是python2.6新增的格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能 ...

  8. python ord()与chr()用法以及区别

    python ord()与chr()用法以及区别 原文:http://blog.csdn.net/yulock/article/details/52904035 ord()函数主要用来返回对应字符的a ...

  9. java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

最新文章

  1. python rpc 性能比较_Python与RPC -- (转)
  2. c语言铁路托运行李费用图,3.为铁路部门编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50kg...
  3. 逻辑斯谛回归模型( Logistic Regression,LR) 最大熵模型(Max Entropy,ME)
  4. php点链接直接现在文件吗,PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而...
  5. python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
  6. 最大子树和(洛谷-P1122)
  7. 计算机模拟做报童模型,用基于计算机随机模拟的下降法求解报童问题
  8. 中国科学院计算机研究生面试,19年中科院信工所考研经验分享【初试+复试】
  9. 线性代数之 实对称矩阵,正交对角化,二次型与正定矩阵
  10. 天猫运营和淘宝运营有哪些区别 天猫淘宝运营差异性
  11. 2019-9-2-win10-uwp-截图-获取屏幕显示界面保存图片
  12. 机器学习作业(第十八次课堂作业)
  13. 计算机在未来医学中的应用,【-通信传播论文:计算机技术在医学中的应用材料】...
  14. 2022年化工自动化控制仪表考试总结及化工自动化控制仪表模拟考试
  15. 冰蝎shell_冰蝎动态二进制加密WebShell特征分析
  16. Linux 功能强大的 路由器,一款功能强大的路由器系统-软路由-RouterOS
  17. int类型变量的取值范围?
  18. matlab三大重要数组之胞元数组
  19. matlab seawater,seawater
  20. 预见2019吴晓波年终秀演讲PPT整理

热门文章

  1. uniapp中的view高度设置100%
  2. sklearn系列之----线性回归
  3. 传输时延与传播时延的辨析
  4. 不用下载就能使用的4款轻量在线PS工具
  5. 行为心理学课件——人类行为基础
  6. 阿斯达年代记思维导图
  7. Kinect 开发小记:穿越艾泽拉斯,调戏红龙女王
  8. python中如何去除nonetype_Python字符串处理NoneType的处理
  9. goto 在 linux 里面简单使用
  10. 算法竞赛入门之除法习题