'''
這個(gè)模塊主要提供了這幾個(gè)對(duì)象届良,CookieJar,F(xiàn)ileCookieJar,MozillaCookieJar,LWPCookieJar。
'''
#urllib與http.cookiejar結(jié)合使用
#cookielib模塊一般與urllib模塊配合使用实胸,
#主要用在urllib.requests.build_oper()函數(shù)中作為urllib.requests.HTTPCookieProcessor()的參數(shù)他嫡。
import urllib.request
import http.cookiejar
# 初始化一個(gè)CookieJar來(lái)處理Cookie
cookie=http.cookiejar.CookieJar()
#實(shí)例化一個(gè)全局opener
handler=urllib.request.HTTPCookieProcessor(cookie)
opener=urllib.request.build_opener(handler)
# 獲取cookie
r=opener.open('https://www.hao123.com/')
# 訪問(wèn)主頁(yè) 自動(dòng)帶著cookie信息
result = opener.open('https://www.hao123.com/')
result.status
print (result.read())
#------------------------------------------------------------------------------
import requests
#對(duì)于cookies格式的轉(zhuǎn)化番官,提供了三個(gè)工具方法:
#requests.utils.dict_from_cookiejar(cj)
#requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
#requests.utils.add_dict_to_cookiejar(cj, cookie_dict)
#工具方法:requests.cookies.RequestsCookieJar轉(zhuǎn)換成字典
load_cookies = requests.utils.dict_from_cookiejar(r.cookies)
#工具方法將字典轉(zhuǎn)換成RequestsCookieJar,賦值給session的cookies.
#requests.utils.cookiejar_from_dict({c.name: c.value for c in r.cookies})
requests.session.cookies=requests.utils.cookiejar_from_dict(load_cookies)
#利用requests 庫(kù)
r=requests.get('https://www.hao123.com/',cookies=load_cookies)
#獲取的cookies钢属,可以用keys()和values()看內(nèi)容徘熔,但本身不是字典格式,以下可以打印出字典方式查看
r.cookies
print ({c.name: c.value for c in r.cookies})