1 提取cookie信息并打印
2 import http.cookiejar,urllib.request
3
4 #http.cookiejar.CookieJar的作用是提取cookie信息
5 #在这里是声明cookie变量,它是http.cookiejar.CookieJar的实例
6 cookie = http.cookiejar.CookieJar()
7 #HTTPCookieProcessor的作用是处理cookie信息
8 handler = urllib.request.HTTPCookieProcessor(cookie)
9 #建立一个特殊的开瓶器,开瓶器的主要武器就是上一步返回的handler
10 opener = urllib.request.build_opener(handler)
11 #此时cookie已经完成提取并处理,因此cookie就是一组键值数据
12 response = opener.open('http://www.baidu.com')
13 for item in cookie:
14 print(item.name+'='+item.value)
1 #保存cookie信息到本地,两种方式
2 #方法一:MozillaCookieJar
3 import http.cookiejar
4 import urllib.request
5
6 filename = 'D://cookie.txt'
7 #创建与Mozilla浏览器兼容的cookie
8 cookie = http.cookiejar.MozillaCookieJar(filename)
9
10 handler = urllib.request.HTTPCookieProcessor(cookie)
11 opener = urllib.request.build_opener(handler)
12 response = opener.open('http://www.baidu.com')
13 #ignore_discard的意思是即使cookies将被丢弃也将它保存下来,
14 #ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入
15 cookie.save(ignore_discard=True,ignore_expires=True)
16
17 #方法二:LWPCookiejar
18 import http.cookiejar
19 import urllib.request
20 filename = 'D://cookie.txt'
21 cookie =http.cookiejar.LWPCookieJar(filename)
22 handler = urllib.request.HTTPCookieProcessor(cookie)
23 opener = urllib.request.build_opener(handler)
24 response = opener.open('http://www.baidu.com')
25 cookie.save(ignore_discard=True,ignore_expires=True)
1 #读取cookie,load方法
2 import http.cookiejar
3 import urllib.request
4
5 cookie = http.cookiejar.LWPCookieJar()
6 cookie.load('D://cookie.txt',ignore_expires=True,ignore_discard=True)
7
8 handler = urllib.request.HTTPCookieProcessor(cookie)
9 opener = urllib.request.build_opener(handler)
10 response = opener.open('http://www.baidu.com')
11 print(response.read().decode('utf-8'))设想,如果我们的 cookie.txt 文件中保存的是某个人登录百度的cookie,那么我们提取出这个cookie文件内容,就可以用以上方法模拟这个人的账号登录百度。