使用 urllib 处理 Cookies 信息
如何获取 Cookies :
import urllib.request import http.cookiejar cookies = http.cookiejar.CookieJar() # 先声明一个CookieJar对象,用来存储Cookie信息 handler = urllib.request.HTTPCookieProcessor(cookies) # 创建一个处理Cookie信息的处理器对象 opener = urllib.request.build_opener(handler) # 创建opener对象,使用对象的open()方法发送请求并获取响应的内容,这时候Cookie信息就会存储到CookieJar对象中了 response = opener.open("http://www.baidu.com/") for item in cookies: print("%s: %s" % (item.name, item.value))
[root@localhost ~]# python3 1.py BAIDUID: A791D0405CB974574A768316613BE360:FG=1 BIDUPSID: A791D0405CB974574A768316613BE360 H_PS_PSSID: 1996_1440_21119_28607_28584_26350_28518_28605 PSTM: 1552378760 delPer: 0 BDSVRTM: 0 BD_HOME: 0
如何携带 Cookie 信息登录到其他页面:
import urllib.request import http.cookiejar cookies = http.cookiejar.CookieJar() handler = urllib.request.HTTPCookieProcessor(cookies) opener = urllib.request.build_opener(handler) response = opener.open("http://www.baidu.com/") # 这里发送HTTP请求并获取响应头信息中的Cookie信息,并存储在CookieJar中 urllib.request.install_opener(opener) # 这里相当于把CookieJar声明成全局变量,我们再使用urlopen()时就相当于携带Cookie信息 urllib.request.urlopen("https://www.baidu.com/s?wd=hello")