国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺析Python3爬蟲登錄模擬

2020-01-04 15:56:25
字體:
來源:轉載
供稿:網友

使用Python爬蟲登錄系統之后,能夠實現的操作就多了很多,下面大致介紹下如何使用Python模擬登錄

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

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

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

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

function Logon() {}

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

對于加密,有三種方法:

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

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

對于驗證碼的問題,先介紹下一般的圖片驗證碼,可以請求獲取驗證碼的地址,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是加密的數據。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖州市| 昆明市| 赣州市| 花莲县| 平乡县| 资中县| 龙口市| 依安县| 玛多县| 灵川县| 江西省| 仙桃市| 永泰县| 大关县| 师宗县| 通榆县| 兴国县| 抚远县| 政和县| 黎川县| 新龙县| 泗水县| 庄浪县| 福清市| 扎鲁特旗| 衡东县| 靖边县| 固阳县| 奎屯市| 五常市| 内江市| 东源县| 洪江市| 甘泉县| 云安县| 松桃| 临邑县| 老河口市| 潮州市| 尤溪县| 玛多县|