在訪問網際網路頁面時,通過無狀態協議(無法維持會話之間的狀態)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...