CookieJar模块管理Cookie

  • CookieJar:管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。整个cookie都存储在内存中,对CookieJar实例进行垃圾回收后cookie也将丢失。

  • FileCookieJar (filename,delayload=None,policy=None):从CookieJar派生而来,用来创建FileCookieJar实例,检索cookie信息并将cookie存储到文件中。filename是存储cookie的文件名。delayload为True时支持延迟访问访问文件,即只有在需要时才读取文件或在文件中存储数据。

  • MozillaCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。

  • LWPCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与libwww-perl标准的 Set-Cookie3 文件格式兼容的FileCookieJar实例。

示例1

import http.cookiejar, urllib.request
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open("http://example.com/")

示例2

from http.cookiejar import CookieJar
from urllib import request
url="http://www.baidu.com"
#1.创建cookiejar对象
cookiejar = CookieJar()
#2.使用cookiejar创建一个httpcookieprocess对象
handler = request.HTTPCookieProcessor(cookiejar)
#3.创建opener
opener = request.build_opener(handler)
#4.使用opener发送请求
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
req = request.Request(url=url,headers=headers)
resp=opener.open(req)
print(resp.read())

示例3:保存cookie到本地

from urllib import request
from http.cookiejar import  MozillaCookieJar
#1.创建MozillaCookieJar对象
cookiejar = MozillaCookieJar('cookie.txt')
#2.使用cookiejar创建一个httpcookieprocess对象
handler = request.HTTPCookieProcessor(cookiejar)
#3.创建opener
opener = request.build_opener(handler)
#4.使用opener发送请求
resp=opener.open('http://httpbin.org/cookies/set?course=python') #这个url会设置cookie后返回
cookiejar.save(ignore_discard=True)  #响应完了之后cookie会过期,设置这个参数忽略是否过期都保存

这是保存的cookie信息
在这里插入图片描述

示例4:从本地加载cookie

from http.cookiejar import  MozillaCookieJar

cookiejar = MozillaCookieJar('cookie.txt')
cookiejar.load(ignore_discard=True)  #加载已经过期的cookie需要设置参数ignore_discard=True
for cookie in cookiejar:   #输出cookie信息
    print(cookie)

在这里插入图片描述

官方文档:https://docs.python.org/3.3/library/http.cookiejar.html?highlight=cookie
参考链接:https://blog.csdn.net/levon2018/article/details/80558108

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值