使用 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") 

 

 

 

 

 

 

    

posted @ 2019-03-14 16:21  孔雀东南飞  阅读(575)  评论(0编辑  收藏  举报