天天看點

python腳本根據cookies自動登入網站_Python爬蟲連載6-cookie深入使用執行個體化實作自動登入...

一、使用cookie登入

1.直接把cookie複制下去,然後手動放到請求頭

2.http子產品包含一些關于cookie的子產品,通過他們我們可以自動使用cookie

(1)cookieJar

管理存儲cookie,向傳出的http請求添加cookie;cookie存儲在記憶體中,CookieJar執行個體回收後cookie​将消失;

(2)FileCookieJar(filename,delayload=None,policy=Nnone)

使用檔案管理cookie​;filename是儲存cookie的檔案

filename是儲存cookie的檔案

(3)MozillaCookieJar(filename,delayload=None,policy=None)

建立于mocilla浏覽器cookie,txt相容的FileCookieJar執行個體

(4)LwpCookieJar(filename,delayload-None,policy=None)

建立與libww-perl标準相容的FileCookieJar執行個體

(5)​他們的關系是:CookieJar-->FileCookirJar-->MozillaCookieJar & LwpCookieJa

3.利用cookiejar通路人人網

自動使用cookie登入,​大緻流程為:(1)打開登陸頁面後自動通過使用者名密碼登入​;(2)自動提取回報回來的cookie​;(3)利用提取的cookie登入隐私頁面​;

4.handler是Handler的執行個體,常用參看案例代碼

(1)用來處理複雜請求

#生成cookie的管理器

cookie_handler=request.HTTPCookieProcessor(cookie)#建立http請求管理器

http_handler=request.HTTPHandler()#生成https管理器

https_handler= request.HTTPHandler()

(2)創立handler後,使用opener打開,打開後相應的業務由相應的handler處理

(3)cookie作為一個變量,列印出來

cookie的屬性​:

name:名稱 value​:值 domain:可以通路此cookie的域名 expires:過期時間 size:大小 Http字段

from urllib importrequest,parsefrom http importcookiejar#建立cookiejar執行個體

cookie=cookiejar.CookieJar()#生成cookie的管理器

cookie_handler=request.HTTPCookieProcessor(cookie)#建立http請求管理器

http_handler=request.HTTPHandler()#生成https管理器

https_handler=request.HTTPHandler()#建立請求管理器

opener=request.build_opener(http_handler,https_handler,cookie_handler)

​deflogin():"""負責初次登入

需要輸入使用者名密碼

:return:"""url= "http://www.renren.com/PLogin.do"data={"email":"[email protected]","password":"481648541615485"}#把資料進行編碼

data=parse.urlencode(data)#建立一個請求對象

req= request.Request(url,data=data.encode())#使用opener發起請求

rep=opener.open(req)

​defgetHomePage():

url= "http://www.renren.com/965187997/profile"

#如果已經執行了login函數,則opener自動已經包含相應的cookie值

rsp=opener.open(url)

html=rsp.read().decode()

with open("rsp.html","w") as f:

f.write(html)

​if __name__ == "__main__":"""執行完login之後,會得到授權之後的cookie

我們嘗試把cookie列印出來"""login()print(cookie)for item incookie:print(type(item))print(item)for i indir(item):print(i)

getHomePage()

python腳本根據cookies自動登入網站_Python爬蟲連載6-cookie深入使用執行個體化實作自動登入...
python腳本根據cookies自動登入網站_Python爬蟲連載6-cookie深入使用執行個體化實作自動登入...

二、源碼

Reptitle6_CookieJar.py

https://github.com/ruigege66/PythonReptile/blob/master/Reptitle6_CookieJar.py​

2.CSDN:https://blog.csdn.net/weixin_44630050

3.部落格園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆号:傅裡葉變換,個人公衆号,僅用于學習交流,背景回複”禮包“,擷取大資料學習資料

python腳本根據cookies自動登入網站_Python爬蟲連載6-cookie深入使用執行個體化實作自動登入...