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再進行優化,他的基本思路都是相同的。在此,我僅僅...