Cookie的使用 爬蟲

2021-08-21 17:55:16 字數 1599 閱讀 6883

在訪問網際網路頁面時,通過無狀態協議(無法維持會話之間的狀態)http進行。例如:我們訪問需要登入的**,可以通過兩種方式儲存登入狀態

(1)cookie儲存會話資訊,儲存在客戶端。 (2)session儲存會話資訊,儲存在服務端。通過服務端給客戶端發sessionid等資訊,這些資訊一般儲存在客戶端的 cookie中。然後,使用者在訪問**時,從cookie中讀取資訊,然後從伺服器中的session中根據這一部分的cookie資訊 檢索出客戶端所有的會話資訊,然後進行會話控制。 在爬蟲的登入中,如果沒有cookie,我們登入成功了乙個網頁,但如果我們去爬取該**的其他網頁時,仍然會是未登 錄狀態。有了cookie就會儲存登入狀態。 我們希望登入狀態一直保持,python3使用cookiejar庫進行處理

1)匯入cookie處理模組http.cookiejar

2)使用http.cookiejar.cookiejar()建立cookiejar物件

3)使用httpcookieprocessor建立cookie處理器,並以其為引數建立opener物件

4)建立全域性預設opener物件

**示例:

#使用http.cookiejar.cookiejar()建立cookiejar物件

#使用httpcookieprocesssor建立cookie處理器,並以其引數構建opener物件

#將opener安裝為全域性

urllib.request.install_opener(opener)

file=opener.open(req)

data=file.read()

#"wb"為以二進位制覆蓋寫,"ab"為以二進位制檔案末尾增加

file=open("d:/python36/myweb/1.html","wb")

file.write(data)

file.close()

url2=""

data2=urllib.request.urlopen(url2).read()

fhandle=open("d:/python36/myweb/2.html","wb")

fhandle=write(data2)

fhandle.close()

我們可以看到使用cookie後1.html和2.html保持了相同的登入狀態。

python爬蟲 cookie的使用

在做登入的post請求時,需要記住cookie,否則不能訪問登入後的頁面。下面是登入的 postdata urllib.parse.urlencode encode utf 8 使用urlencode編碼處理後,再設定為utf 8編碼header req urllib.request.request...

Python爬蟲 Cookie查詢,使用

在爬蟲的過程中經常會遇到需要登入之後才能完整訪問的情況。使用cookic可以模擬登入的情況,登入資訊儲存於cookie中。查詢cookie 通過瀏覽器開發者模式 f12 直接查詢。具體操作 進入開發者模式 f12 network 選擇花費時間最長的 一般就是第一行 紅色部分即為cookie 使用se...

python爬蟲 使用cookie登入豆瓣

64位win10系統,同時裝python2.7和python3.6兩個版本 本次使用python3.6 ide為pycharm,瀏覽器為chorme,使用的python第三方庫為requests 首先登陸豆瓣首頁,並且登入賬戶 注意練習爬蟲時最好用小號 右鍵檢查,點選network,然後按fn f5...