python cookiejar保存cookie信息

cookie信息是什么?

cookie, 某些网站为了辨别用户身份, 只有登陆之后才能访问某个页面;
进行一个会话跟踪, 将用户的相关信息包括用户名等保存到本地终端


from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request
# 1. 如何将Cookie保存到变量中, 或者文件中;
# 1). 声明一个CookieJar ---> FileCookieJar --> MozillaCookie
cookie = cookiejar.CookieJar()
# 2). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 3). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 4). 打开url页面
response = opener.open('http://www.baidu.com')
# 5). 打印该页面的cookie信息
print(cookie)
for item in cookie:
    print(item)

在这里插入图片描述

如何将Cookie以指定格式保存到文件中

# 1). 设置保存cookie的文件名
cookieFilename = 'cookie.txt'
# 2). 声明一个MozillaCookie,用来保存cookie并且可以写入文进阿
cookie = cookiejar.MozillaCookieJar(filename=cookieFilename)
# 3). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 4). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 5). 打开url页面
response = opener.open('http://www.baidu.com')
# 6). 打印cookie,
print(cookie)
print(type(cookie))
# ignore_discard, 即使cookie信息将要被丢弃。 也要把它保存到文件中;
# ignore_expires, 如果在文件中的cookie已经存在, 就覆盖原文件写入;
cookie.save(ignore_discard=True, ignore_expires=True)

在这里插入图片描述

在这里插入图片描述

利用已有的cookie信息访问网页

from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request



# 3. 如何从文件中获取cookie并访问
# 1). 指定cookie文件存在的位置
cookieFilename = 'cookie.txt'
# 2).声明一个MozillaCookie,用来保存cookie并且可以写入文件, 用来读取文件中的cookie信息
cookie = cookiejar.MozillaCookieJar()
# 3). 从文件中读取cookie内容
cookie.load(filename=cookieFilename)
# 4). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 5). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 6). 打开url页面
response = opener.open('http://www.baidu.com')
#7). 打印信息
print(response.read().decode('utf-8'))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zcx1203/article/details/83098632