Python3爬蟲登陸模擬

使用Python爬蟲登陸系統以後,可以實現的操做就多了不少,下面大體介紹下如何使用Python模擬登陸。前端

咱們都知道,在前端的加密驗證,只要把將加密環境還原出來,便可以很輕易地登陸。cookie

首先分析登陸的步驟,經過審查元素得知session

<input type="button" id="login" name="login" class="login" onclick="Logon();" value="登陸">

點擊按鈕觸發Logon()函數,而後查找Logon()函數定義函數

function Logon() {
}

函數定義內容各有不一樣,通常裏面包含一些加密的操做,通常是使用寫好的js加密。咱們所須要作的即是重複這些步驟,加密數據。post

對於加密,有三種方法:網站

第一,若是加密方法是base64之類的,能夠直接用Python3的base64庫加密;加密

第二,手動模仿;url

第三,直接調用js加密,須要先下載PyExecJS,有的電腦須要先安裝js的運行環境,好比Node.js。使用方法以下:spa

newusername = execjs.compile(content).call('base64encode', username)

其中content是js內容,base64encode是方法,username是參數,newusername是加密後的數據。code

對於驗證碼的問題,先介紹下通常的圖片驗證碼,能夠請求獲取驗證碼的地址,session之類的數據本身搞定,通常即可以請求成功,能夠存到本地手動輸入,也可使用識別的第三方模塊,但這個識別效果並非很好。

而後,即是查看session,cookie。

接下來的操做就是構造請求頭headers,這個能夠自行去控制檯查看或者使用wireshark, fiddler之類的抓包軟件查看。

最後即可以請求數據:

使用

 s = requests.Session()
 s.headers.update(headers)
 r = s.post(url, data = params)

或者:

  r = requests.get(url, headers = headers, data = params)

headers是你構造的請求頭,url是你請求的網站,params是加密的數據。

相關文章
相關標籤/搜索