cookie在爬蟲方面的應用 模擬登入

2021-08-04 18:20:00 字數 1785 閱讀 8950

cookies在爬蟲方面最典型的應用是判定註冊使用者是否已經登入**,在下一次進入此**時保留使用者資訊,可以簡化登入或其他驗證過程。

在模擬登入**時:需要傳送乙個post請求去獲取有登入資訊的cookie(登入頁面跳轉到使用者頁面的時候,抓包此時的cookie是乙個儲存了使用者登入狀態的cookie)需要把cookie資訊放入headers中。這種方法需要瀏覽器登入使用者名稱和密碼。比較複雜,下面介紹一種簡單的方法。

在python處理cookie,一般是通過cookielib模組和 urllib2模組的httpcookieprocessor處理器類一起使用。

cookielib模組:主要作用是提供用於儲存cookie的物件。主要物件有cookiejar,filecookiejar,mozillacookiejar,lwpcookiejar.

httpcookieprocessor處理器:主要作用是處理這些cookie物件,並構建handler物件。

在大多數情況下,值用cookiejar().需要和本地檔案互動的時候,就用mozillacookiejar()或者lwpcookiejar().

import urllib

import urllib2

import cookielib

# 1. 構建乙個cookiejar物件例項來儲存cookie

cookie = cookielib.cookiejar()

# 2. 使用httpcookieprocessor()來建立cookie處理器物件,引數為cookiejar()物件

# 3. 通過 build_opener() 來構建opener

opener = urllib2.build_opener(cookie_handler)

# 4. addheaders 接受乙個列表,裡面每個元素都是乙個headers資訊的元祖, opener將附帶headers資訊

# 5. 需要登入的賬戶和密碼

data =

# 6. 通過urlencode()轉碼

postdata = urllib.urlencode(data)

# 7. 構建request請求物件,包含需要傳送的使用者名稱和密碼

request = urllib2.request(

"", data = postdata)

# 8. 通過opener傳送這個請求,並獲取登入後的cookie值,

opener.open(request)

# 9. opener包含使用者登入後的cookie值,可以直接訪問那些登入後才可以訪問的頁面

response = opener.open(

"") # 10. 列印響應內容

print

response.read()

模擬登入的注意事項:

登入一般先有乙個http get,用來拉取一些資訊、獲得cookie,然後再http post登入

http post登入的連線可能是動態的,從get返回的資訊中獲取

動態載入的頁面基本上都是json檔案(辨識方法:傳送頁面請求,檢視頁面,下拉頁面,資料是不斷向下載入的。例如豆瓣電影影評排名。)資料並不是寫死在頁面上,這時需要抓包,從後台

拿到json。

python爬蟲cookie方面 1

cookie session 由於http協議的無記憶性,人們為了彌補這個缺憾,所採用的乙個補充協議 cookie是發給使用者 即http瀏覽器 的一段資訊,session是儲存在伺服器上的對應的另一半資訊,用來記錄使用者資訊 cookie和session的區別 存放位置不同 cookie不安全 s...

VR技術在展示方面的應用

在企業的展示中,產品的展示主要是為了向消費者傳遞商品的資訊,讓消費者更加直觀全面的來哦接商品,加深消費者的認知和了解,vr技術可以通過文字 等各種方式展示商品資訊,突破常規的侷限性,是消費者了解的更加全面,且讓消費者可以和商品建立良好的互動交流,有效解決商品展示真實感不足的問題。在房地產等建築的展示...

關於PGM在OCR方面的應用

本文僅僅是乙個簡單的pgm在ocr方面的應用的實踐。僅此記錄下來實現的思路。ocr optical character recognition 即是將手寫的文字用計算機自動的識別出來,然後輸送到計算機裡。ocr目前仍然沒有完全成功的產品。但是不論ocr再進行優化,他的基本思路都是相同的。在此,我僅僅...