欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Python3爬蟲登錄模擬

 更新時間:2018年02月07日 09:10:04   作者:WhiteBlackCat  
本篇文章通過學(xué)習(xí)python爬蟲相關(guān)知識點(diǎn)來分析Python3爬蟲登錄模擬的原理以及相關(guān)代碼分析,對此有興趣的朋友參考下。

使用Python爬蟲登錄系統(tǒng)之后,能夠?qū)崿F(xiàn)的操作就多了很多,下面大致介紹下如何使用Python模擬登錄

我們都知道,在前端的加密驗(yàn)證,只要把將加密環(huán)境還原出來,便能夠很輕易地登錄。

首先分析登錄的步驟,通過審查元素得知

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

點(diǎn)擊按鈕觸發(fā)Logon()函數(shù),然后查找Logon()函數(shù)定義

function Logon() {
}

函數(shù)定義內(nèi)容各有不同,一般里面包含一些加密的操作,一般是使用寫好的js加密。我們所需要做的便是重復(fù)這些步驟,加密數(shù)據(jù)。

對于加密,有三種方法:

  1. 如果加密方法是base64之類的,可以直接用Python3的base64庫加密;
  2. 手動模仿;
  3. 直接調(diào)用js加密,需要先下載PyExecJS,有的電腦需要先安裝js的運(yùn)行環(huán)境,比如Node.js。使用方法如下:
newusername = execjs.compile(content).call('base64encode', username)

其中content是js內(nèi)容,base64encode是方法,username是參數(shù),newusername是加密后的數(shù)據(jù)。

對于驗(yàn)證碼的問題,先介紹下一般的圖片驗(yàn)證碼,可以請求獲取驗(yàn)證碼的地址,session之類的數(shù)據(jù)自己搞定,一般便可以請求成功,可以存到本地手動輸入,也可以使用識別的第三方模塊,但這個識別效果并不是很好。

然后,便是查看session,cookie。

接下來的操作就是構(gòu)造請求頭headers,這個可以自行去控制臺查看或者使用wireshark, fiddler之類的抓包軟件查看。

最后便可以請求數(shù)據(jù):

使用

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

或者:

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

headers是你構(gòu)造的請求頭,url是你請求的網(wǎng)站,params是加密的數(shù)據(jù)。

相關(guān)文章

最新評論