十、urllib庫 - 實戰(zhàn)– 知乎登錄模擬實戰(zhàn)(2)
?
http.cookiejar模塊:
?
該模塊主要的類有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。
這四個類的作用分別如下:
?
1、CookieJar:管理HTTP cookie值、存儲HTTP請求生成的cookie、向傳出的HTTP請求添加cookie的對象。
2、FileCookieJar(filename,delayload= None,policy = None):從CookieJar 派生而來,用來創(chuàng)建FileCookieJar實例,檢索cookie信息并將cookie存儲到文件中。
Filename 是存儲cookie的文件名。delayload為True時支持延遲訪問訪問文件,即只有在需要時才讀取文件或在文件中存儲數(shù)據(jù)。
3、MozillaCookieJar(filename,delayload= None,policy = None):從FileCookieJar 派生而來,創(chuàng)建與 Mozilla瀏覽器cookies.txt兼容的FileCookieJar 實例。
4、LWPCookieJar(filename,delayload= None,policy = None):從FileCookieJar 派生而來,創(chuàng)建與libwww-perl 標(biāo)準(zhǔn)的 Set-Cookie3 文件格式兼容的 FileCookieJar 實例。
示例代碼:
# 從urllib 庫導(dǎo)入 request 模塊,從urllib 庫導(dǎo)入 parse編碼模塊,從http.cookiejar 模塊導(dǎo)入CookieJar類
fromurllib import request
fromurllib import parse
fromhttp.cookiejar import CookieJar
??
#登錄鏈接:https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F? 從登錄界面輸完密碼進去,login 中看屬性
# 個人網(wǎng)頁?https://i.meishi.cc/cook.php?id=略
# 添加請求頭
headers= {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
??
# 1.登錄
#1.1 創(chuàng)建cookiejar 對象
cookiejar= CookieJar()
?
#1.2 使用cookiejar 創(chuàng)建一個HTTPCookieProcess對象
handler= request.HTTPCookieProcessor(cookiejar)
?
#1.3 使用上一步創(chuàng)建的handler 創(chuàng)建一個opener
opener= request.build_opener(handler)
?
#1.4 使用opener 發(fā)送登錄請求? (賬號和密碼)
post_url = 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F'
post_data?= parse.urlencode({'username':'xxxxxxx@qq.com','password':'yyyyyyyy'})
req = request.Request(post_url,data = post_data.encode('utf-8'))
opener.open(req)
?
#2. 訪問個人主頁
url = 'https://i.meishi.cc/cook.php?id=14288257'
rq =request.Request(url,headers = headers)
resp = opener.open(rq)
print(resp.read().decode('utf-8'))
上一篇文章 第二章 網(wǎng)絡(luò)請求(七) 2019-12-05 地址:
http://www.itdecent.cn/p/558f9c7f4a67
下一篇文章 第二章 網(wǎng)絡(luò)請求(九) 2019-12-07 地址:
http://www.itdecent.cn/p/a854f48c20f9
以上資料內(nèi)容來源網(wǎng)絡(luò),僅供學(xué)習(xí)交流,侵刪請私信我,謝謝。