Python中Cookie的处理(二)cookielib库
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持。
该模块主要功能是提供可存储cookie的对象。使用此模块捕获cookie并在后续连接请求时重新发送,还可以用来处理包含cookie数据的文件。
这个模块主要提供了这几个对象,CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar。
1. CookieJar
CookieJar对象存储在内存中。
1 2 3 4 5 6 | >>> import urllib2 >>> import cookielib >>> cookie = cookielib.CookieJar() >>> handler = urllib2.HTTPCookieProcessor(cookie) >>> opener = urllib2.build_opener(handler) >>> opener. open ( 'http://www.google.com.hk' ) |
访问google的cookie已经被捕捉了,来看下是怎样的:
1 2 | >>> print cookie <cookielib.CookieJar[<Cookie NID = 67 = B6YQoEIEjcqDj - adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM - Ln7kIUWi92l - X2fvUqgwDnN3qowDW for .google.com.hk / >, <Cookie PREF = ID = 7ae0fa51234ce2b1 :FF = 0 :NW = 1 :TM = 1391219446 :LM = 1391219446 :S = cFiZ5X8ts9NY3cmk for .google.com.hk / >]> |
看来是Cookie实例的集合,Cookie实例有name,value,path,expires等属性:
1 2 3 4 5 | >>> for ck in cookie: ... print ck.name, ':' ,ck.value ... NID : 67 = B6YQoEIEjcqDj - adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM - Ln7kIUWi92l - X2fvUqgwDnN3qowDW PREF : ID = 7ae0fa51234ce2b1 :FF = 0 :NW = 1 :TM = 1391219446 :LM = 1391219446 :S = cFiZ5X8ts9NY3cmk |
2. 将cookie捕捉到文件
FileCookieJar(filename)
创建FileCookieJar实例,检索cookie信息并将信息存储到文件中,filename是文件名。
MozillaCookieJar(filename)
创建与Mozilla cookies.txt文件兼容的FileCookieJar实例。
LWPCookieJar(filename)
创建与libwww-perl Set-Cookie3文件兼容的FileCookieJar实例。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 2 import urllib2 3 import cookielib 4 def HandleCookie(): 5 6 #handle cookie whit file 7 filename = 'FileCookieJar.txt' 8 url = 'http://www.google.com.hk' 9 FileCookieJar = cookielib.LWPCookieJar(filename) 10 FileCookeJar.save() 11 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(FileCookieJar)) 12 opener. open (url) 13 FileCookieJar.save() 14 print open (filename).read() 15 16 #read cookie from file 17 readfilename = "readFileCookieJar.txt" 18 MozillaCookieJarFile = cookielib.MozillaCookieJar() 19 print MozillaCookieJarFile 20 MozillaCookieJarFile.load(readfilename) 21 print MozillaCookieJarFile 22 if __name__ = = "__main__" : 23 HandleCookie() |
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探