📅  最后修改于: 2023-12-03 15:19:00.299000             🧑  作者: Mango
当我们浏览网站时,经常会看到一些弹窗或提示框,内容通常是询问我们是否接受Cookies。那么什么是Cookies呢?
Cookies是由网站放置在我们计算机上的小型文本文件,用于跟踪我们在网站上的活动并存储我们的偏好设置。在Python中,我们可以使用http.cookiejar模块来管理Cookies。
下面是一个简单的Python程序,演示如何设置Cookies:
import http.cookiejar, urllib.request
# 创建一个CookiesJar对象
cj = http.cookiejar.CookieJar()
# 创建一个HTTPCookieProcessor对象,并将CookiesJar对象绑定到它上面
cp = urllib.request.HTTPCookieProcessor(cj)
# 创建一个OpenerDirector对象,并将HTTPCookieProcessor对象与它绑定
opener = urllib.request.build_opener(cp)
# 发送请求
response = opener.open('http://www.example.com')
# 输出Cookies
for cookie in cj:
print(cookie.name, cookie.value)
上述代码创建了一个CookiesJar对象,将其绑定到HTTPCookieProcessor对象上,然后使用OpenerDirector对象来发送请求。在发送请求之后,我们使用循环遍历CookiesJar对象,输出cookie的名称和值。
我们可以将Cookies保存到本地文件中,这样以后再访问网站时就可以加载这些Cookies,不必再次登录。下面是一个示例程序,演示如何将Cookies保存到本地文件中:
import http.cookiejar, urllib.request
# 创建一个FileCookieJar对象,指定存储cookies的文件名
filename = 'cookie.txt'
cj = http.cookiejar.MozillaCookieJar(filename)
# 创建一个HTTPCookieProcessor对象,并将CookiesJar对象绑定到它上面
cp = urllib.request.HTTPCookieProcessor(cj)
# 创建一个OpenerDirector对象,并将HTTPCookieProcessor对象与它绑定
opener = urllib.request.build_opener(cp)
# 发送请求
response = opener.open('http://www.example.com')
# 保存Cookies到文件中
cj.save()
上述代码创建了一个FileCookieJar对象,指定存储Cookies的文件名,将其绑定到HTTPCookieProcessor对象上,然后使用OpenerDirector对象发送请求。在发送请求之后,我们调用CookiesJar对象的保存方法将Cookies保存到本地文件中。
下面是一个演示如何加载Cookies的示例程序:
import http.cookiejar, urllib.request
# 创建一个FileCookieJar对象,指定从哪个文件中加载cookies
filename = 'cookie.txt'
cj = http.cookiejar.MozillaCookieJar()
cj.load(filename)
# 创建一个HTTPCookieProcessor对象,并将CookiesJar对象绑定到它上面
cp = urllib.request.HTTPCookieProcessor(cj)
# 创建一个OpenerDirector对象,并将HTTPCookieProcessor对象与它绑定
opener = urllib.request.build_opener(cp)
# 发送请求
response = opener.open('http://www.example.com')
# 输出Cookies
for cookie in cj:
print(cookie.name, cookie.value)
此代码创建了一个FileCookieJar对象,并指定它从cookie.txt文件中加载Cookies。然后将CookiesJar对象绑定到HTTPCookieProcessor对象上,并使用OpenerDirector对象发送请求。在发送请求之后,我们循环遍历CookiesJar对象,输出cookie的名称和值。
Python中Cookie的使用非常简单,只需几行代码即可实现常见的Cookies操作。