Python爬蟲常用之登錄(一) 思想
阿新 • • 發佈:2017-08-21
訪問 size 其他 驗證碼 方法 身份驗證 一定的 常用 加密
爬蟲主要目的是獲取數據,常見的數據可以直接訪問網頁或者抓包獲取,然後再解析即可.
一些較為隱私的數據則不會讓遊客身份的訪問者隨便看到,這個時候便需要登錄獲取.
一般獲取數據需要的是登錄後的cookie作為身份驗證,如果一個可用cookie就能滿足你的爬蟲需要,可以不用模擬登錄,
直接在網頁上登錄,拷貝cookie下來,寫死在代碼中.
其他的情況可能需要代碼幫你登錄,然後獲取登錄的cookie,再去訪問你需要的數據.
首先,你需要有一個帳號(或者多個,當你想大量訪問數據而cookie又有限制時.),當然,還有密碼.
對於我來說,登錄手段總體分為兩種:
1.使用瀏覽器模擬登錄;
2.使用請求接口模擬登錄.
這兩個方法均為通用登錄方式,即一般的網站經過一定的分析,就可以用這些方法登錄.
一用瀏覽器模擬登錄,比較簡單粗暴,但是效率低下.
優點在於不用過多分析,直接操作selenium等,代碼寫起來簡單快捷,登錄成功只需嘗試幾次即可.
當遇到驗證碼時一般是截取下來,手動輸入或者請求打碼平臺輸入.可能截取稍費功夫.
二用請求登錄,有的網站簡單,有的網站復雜.
最簡單的網站只有一個請求,也不加密,帶上你的帳號密碼,模擬請求一次即可成功.
其次是有前提的登錄,需要提前請求一些信息,作為登錄參數,傳入你要構造的登錄請求之中,再去模擬登錄,方能成功.
再次是拿了先驗條件之後,還有大量的加密算法,需要根據對應的算法給你的帳號和用戶名加密,再寫入請求.
最麻煩的是登錄成功了還有很多驗證,包括驗證碼,圖片識別,個人隱私密保等相關問題,這種不在討論範圍之內.
Python爬蟲常用之登錄(一) 思想