Cookielib庫(kù)和HTTPCookieProcess處理器的介紹-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

十余年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)成都公路鉆孔機(jī)等多個(gè)方面,擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn)。

這篇文章將為大家詳細(xì)講解有關(guān)Cookielib庫(kù)和HTTPCookieProcess處理器的介紹,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

Cookielib庫(kù)和HTTPCookieProcess處理器

Cookie :是指某些網(wǎng)站服務(wù)器為了辨別用戶身份和進(jìn)行Session跟蹤,而儲(chǔ)存在用戶瀏覽器上的文本文件,Cookie可以保持登錄信息到用戶下次與服務(wù)器的會(huì)話。

cookielib模塊:主要作用是提供用于存儲(chǔ)cookie的對(duì)象

HTTPCookieProcessor處理器:主要作用是處理這些cookie對(duì)象,并構(gòu)建handler對(duì)象。

cookie庫(kù)

該模塊主要的對(duì)象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。

CookieJar:管理HTTP cookie值、存儲(chǔ)HTTP請(qǐng)求生成的cookie、向傳出的HTTP請(qǐng)求添加cookie的對(duì)象。整個(gè)cookie都存儲(chǔ)在內(nèi)存中,對(duì)CookieJar實(shí)例進(jìn)行垃圾回收后cookie也將丟失。

FileCookieJar (filename,delayload=None,policy=None):從CookieJar派生而來(lái),用來(lái)創(chuàng)建FileCookieJar實(shí)例,檢索cookie信息并將cookie存儲(chǔ)到文件中。filename是存儲(chǔ)cookie的文件名。delayload為True時(shí)支持延遲訪問(wèn)訪問(wèn)文件,即只有在需要時(shí)才讀取文件或在文件中存儲(chǔ)數(shù)據(jù)。

MozillaCookieJar (filename,delayload=None,policy=None):從FileCookieJar派生而來(lái),創(chuàng)建與Mozilla瀏覽器 cookies.txt兼容的FileCookieJar實(shí)例。

LWPCookieJar (filename,delayload=None,policy=None):從FileCookieJar派生而來(lái),創(chuàng)建與libwww-perl標(biāo)準(zhǔn)的 Set-Cookie3 文件格式兼容的FileCookieJar實(shí)例。

其實(shí)大多數(shù)情況下,我們只用CookieJar(),如果需要和本地文件交互,就用 MozillaCookjar() 或 LWPCookieJar()。

下面通過(guò)實(shí)例登錄人人網(wǎng),學(xué)習(xí)cookieJar()用法

# _*_ coding:utf-8 _*_
import urllib2
import urllib
import cookielib
#通過(guò)CookieJar()類構(gòu)建一個(gè)cookieJar對(duì)象,用來(lái)保存cookie的值
cookie = cookielib.CookieJar()
#通過(guò)HTTPCookieProcessor()處理器類構(gòu)建一個(gè)處理器對(duì)象,用來(lái)處理cookie
#參數(shù)就是構(gòu)建的CookieJar()對(duì)象
cookie_handler = urllib2.HTTPCookieProcessor(cookie)
#構(gòu)建一個(gè)自定義的opener
opener = urllib2.build_opener(cookie_handler)
# 通過(guò)自定義opener的addheaders的參數(shù),可以添加HTTP報(bào)頭參數(shù)
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36')]
#renren網(wǎng)的登錄接口
url = 'http://www.renren.com/PLogin.do'
#需要登錄的賬號(hào)密碼
data = {'email':'15********','password':'py********'}
# 通過(guò)urlencode()編碼轉(zhuǎn)換
data = urllib.urlencode(data)
# 第一次是POST請(qǐng)求,發(fā)送登錄需要的參數(shù),獲取cookie
request = urllib2.Request(url,data = data)
response = opener.open(request)
print response.read()

有了cookie之后,可以直接爬取其它頁(yè)面。

# _*_ coding:utf-8 _*_
import urllib2
import urllib
import cookielib
#通過(guò)CookieJar()類構(gòu)建一個(gè)cookieJar對(duì)象,用來(lái)保存cookie的值
cookie = cookielib.CookieJar()
#通過(guò)HTTPCookieProcessor()處理器類構(gòu)建一個(gè)處理器對(duì)象,用來(lái)處理cookie
#參數(shù)就是構(gòu)建的CookieJar()對(duì)象
cookie_handler = urllib2.HTTPCookieProcessor(cookie)
#構(gòu)建一個(gè)自定義的opener
opener = urllib2.build_opener(cookie_handler)
# 通過(guò)自定義opener的addheaders的參數(shù),可以添加HTTP報(bào)頭參數(shù)
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36')]
#renren網(wǎng)的登錄接口
url = 'http://www.renren.com/PLogin.do'
#需要登錄的賬號(hào)密碼
data = {'email':'15********','password':'python********'}
# 通過(guò)urlencode()編碼轉(zhuǎn)換
data = urllib.urlencode(data)
request = urllib2.Request(url,data = data)
response = opener.open(request)
# print response.read()
# 可以直接爬取登錄后的其它頁(yè)面了
response_other = opener.open('http://friend.renren.com/managefriends')
print response_other.read()

關(guān)于Cookielib庫(kù)和HTTPCookieProcess處理器的介紹就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前題目:Cookielib庫(kù)和HTTPCookieProcess處理器的介紹-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article2/dgicic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、微信公眾號(hào)品牌網(wǎng)站建設(shè)、網(wǎng)站排名響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司