當爬蟲碰到加密請求引數

2021-08-07 06:32:20 字數 1086 閱讀 1614

先說說最近碰到反爬蟲相關的方式吧

1.加密+訪問次數限制+每個頁面相關資訊的條目需要點詳情進行二次請求

2.複雜的加密演算法進行引數+時間戳+sig值,後台進行 引數+時間限制

3.定時同步cookie+每個介面乙個cookie

以上三種加密 

第一種破解方式是 簡單的破解方式使用 selenium,或者其他可以執行js 並且可以儲存cookie,手動設定cookie的值,selenium 有個通病 比較慢。

第三種方式,就要挑戰實力了。不,是耐力

如果手動去設定破解方式的話,需要開啟瀏覽器的 開發者模式,檢視每次的網路請求。

檢視網路引數

需要的技能跟工具

技能稍微的懂js

工具1.nodejs(用以快速執行js,方便除錯解密的js)

2.postman(測試介面)

3.內容比對工具(我用的是svn,用以比對 自己js加密的資料跟網頁加密資料比對)

4.自己用著順手的文字編輯器(用以檢視網頁原始碼中的js,查詢加密js類庫)

有工具加技能之後,說下一般情況

1,如果是可逆的加密,都會有個秘鑰,秘鑰一般都是登入的時候返回

在 登入介面返回、登入cookie中、js類庫中、單獨介面返回。百分之九十不會超過這四項。

貼一張圖吧

第一張圖是js加密的內容

第二張圖,輸入的引數是第一張加密的明文

總而言之,所有的加密方式 肯定在js中藏著,不管是sig加密還是每次請求切換cookie,還是定時的請求本地cookie做校驗。一定要有耐心,反向的跟著請求流程走一遍。切勿急躁。

說了不講加密演算法,有時間還是看下加密演算法吧。看完加密演算法之後,可以大致的猜一下他用的什麼加密演算法,給自己的破解設定乙個方向,可能比盲目的查js,好一點。

爬蟲碰到請求引數無法正常顯示問題

比如電信的 fiddler抓到的包,username值是四個框框,不是明文。可以在網頁原始碼裡查詢 發現是gbk編碼 在搜尋username引數 就像分析js 剛開始搜尋引數一樣 會找到 最後post data時 recievenbr 移動 name name.encode utf 8 userna...

爬蟲 跨域請求 獲取json資料 解決引數加密

分析 提示 抓取對方資訊是通過對方允許的 請不要違法操作 抓取其他個人有關資訊 先傳送了乙個options請求 request url request method options status code 200 ok remote address 47.90.111.000 referrer po...

帶引數 爬蟲(四) 帶引數請求

豆瓣搜尋 海邊的卡夫卡 知乎搜尋 宇宙大 可以看到每個url都由兩部分組成 前半部分形如 後半部分形如 xx xx xx xx xx 兩部分使用?來連線。其中前半部分是基 告訴伺服器想訪問的位址,後半部分就是請求所附帶的引數,它會告訴伺服器,需要什麼樣的資料。引數的結構和字典很像,有鍵有值,鍵值用 ...