Python網絡爬蟲——使用Cookie

Cookie是用來維持會話之間的狀態,比如,將登錄成功後的一些信息保存下來,一般常用的方式有兩種:

1、通過Cookie保存會話信息    2、通過Session保存會話信息

如果是通過Cookie保存會話信息,會將所有的信息保存在客戶端,當訪問通過一個網站的其他頁面的時候,會從Cookie中讀取對應的信息,從而判斷目前的會話狀態

如果是通過Session保存會話信息,會將會話信息保存在服務端,但是服務端會給客戶端發SessionID等信息,這些信息一般會存在客戶端的Cookie中,然後在訪問網站的其他頁面的時候,會從Cookie中讀取這一部分信息,然後交給服務端去驗證

在python3中可以使用Cookiejar庫去處理Cookie。

Cookie處理的常用思路是:

1、導入Cookie處理模塊http.cookiejar

2、使用http.cookiejar.CookieJar()創建CookieJar對象

3、使用HTTPCookieProcessor創建cookie處理器,並以其爲參數構建opener對象

4、創建全局默認的opener對象

import urllib.request
import urllib.parse
import http.cookiejar

url = ''
postdata = urllib.parser.urlencode({
"username":"",
"password":""
}
).encode('utf-8')
req = urllib.request.Request(url,postdata)
req.add_header("user-Agent",")
#使用http.cookiejar.CookieJar()創建CookieJar對象
cjar = http.cookiejar.CookieJar()
#使用HTTPCookieProcessor創建cookie處理器,並以其爲參數都見opener對象
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cjar))
#將opener安裝爲全局
urllib.request.install_opener(opener)
file = opener.open(req)
data = file.read()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章