6 保存与加载cookie信息

1、保存cookie信息

 1 """保存cookie信息"""
 2 
 3 
 4 from urllib import request
 5 from http.cookiejar import MozillaCookieJar
 6 
 7 cookieFilename = 'cookie.txt'
 8 # 声明一个MozillaCookie,用来保存cookie并且可以写入文件
 9 cookiejar = MozillaCookieJar(cookieFilename)
10 handler = request.HTTPCookieProcessor(cookiejar)
11 opener = request.build_opener(handler)
12 
13 headers = {
14     'User-Agent': 'Mozilla/5.0'
15 }
16 req = request.Request('https://www.baidu.com',
17                       headers=headers)
18 resp = opener.open(req)
19 # 输出cookie信息
20 for cookie in cookiejar:
21     print(cookie)
22 # ignor_discard, 即使cookie信息将要被丢弃。 也要把它保存到文件中;
23 # ignore_expires, 如果在文件中的cookie已经存在, 就覆盖原文件写入;
24 cookiejar.save(ignore_discard=True, ignore_expires=True)

2、加载cookie信息

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

18 原文链接:https://blog.csdn.net/zcx1203/java/article/details/83098632
原文地址:https://www.cnblogs.com/sruzzg/p/13064712.html