1. 程式人生 > >Python爬蟲常用之登錄(一) 思想

Python爬蟲常用之登錄(一) 思想

訪問 size 其他 驗證碼 方法 身份驗證 一定的 常用 加密

爬蟲主要目的是獲取數據,常見的數據可以直接訪問網頁或者抓包獲取,然後再解析即可.

一些較為隱私的數據則不會讓遊客身份的訪問者隨便看到,這個時候便需要登錄獲取.

一般獲取數據需要的是登錄後的cookie作為身份驗證,如果一個可用cookie就能滿足你的爬蟲需要,可以不用模擬登錄,

直接在網頁上登錄,拷貝cookie下來,寫死在代碼中.

其他的情況可能需要代碼幫你登錄,然後獲取登錄的cookie,再去訪問你需要的數據.

首先,你需要有一個帳號(或者多個,當你想大量訪問數據而cookie又有限制時.),當然,還有密碼.

對於我來說,登錄手段總體分為兩種:

1.使用瀏覽器模擬登錄;

2.使用請求接口模擬登錄.

這兩個方法均為通用登錄方式,即一般的網站經過一定的分析,就可以用這些方法登錄.

一用瀏覽器模擬登錄,比較簡單粗暴,但是效率低下.

優點在於不用過多分析,直接操作selenium等,代碼寫起來簡單快捷,登錄成功只需嘗試幾次即可.

當遇到驗證碼時一般是截取下來,手動輸入或者請求打碼平臺輸入.可能截取稍費功夫.

二用請求登錄,有的網站簡單,有的網站復雜.

最簡單的網站只有一個請求,也不加密,帶上你的帳號密碼,模擬請求一次即可成功.

其次是有前提的登錄,需要提前請求一些信息,作為登錄參數,傳入你要構造的登錄請求之中,再去模擬登錄,方能成功.

再次是拿了先驗條件之後,還有大量的加密算法,需要根據對應的算法給你的帳號和用戶名加密,再寫入請求.

最麻煩的是登錄成功了還有很多驗證,包括驗證碼,圖片識別,個人隱私密保等相關問題,這種不在討論範圍之內.

Python爬蟲常用之登錄(一) 思想