悟空问答python反爬_Python写个爬虫碰到反爬了,怎么办那就动手破坏它!
搞定javascript加密
js加密最簡單的是采用md5進行的,我們通過http://fanyi.youdao.com/來演示本篇博客內容
接下來你要注意的是這個請求是由哪個Js文件發起的
文件獲取到為 fanyi.min.js,繼續追蹤,鼠標在這個文件名上面停留一下就可以獲取到基本信息,我們點擊跟請求相關的那個方法對應的文件鏈接,跳轉到方法內部
這個地方有個操作細節,你需要學會,點擊文件之后,跳轉到的JS文件是壓縮之后的,進行一下格式化操作
拿到源碼
參數分析
i 表示 帶翻譯的詞語
from 設置為 AUTO
to 設置為 AUTO
smartresult 默認值 dict
client 翻譯的客戶端:默認應該為 fanyideskweb
salt 第一個變量 需要查閱生成規則
sign 第二個變量 需要查閱生成規則
ts
bv
其余的參數保持默認即可
重點參數
salt
sign
ts
bv
代碼的復查當中找到參數來源
OK,我們已經獲取到參數的內容了
ts = r 表示當前的時間戳
salt 用r去加上一個隨機數
sign 為 一個特殊的md5,中間重點注意 e 其實就是你要翻譯的詞語
navigator.appVersion 這個比較容易,在開發者工具中運行一下就可以得到了
5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
代碼嘗試
準備好這么多材料之后,剩下的就是編碼了,我們開始吧,這個地方依據的是JS的源碼,然后轉換成Python即可,沒有特別難的地方
參數的生成
參數的拼接與header的準備
發起請求
結果展示
{"translateResult":[[{"tgt":"早....","src":"morning"}]],"errorCode":0,"type":"en2zh-CHS","smartResult":{"entries":["","n. 早晨;黎明;初期\r\n"],"type":1}}
得到數據之后就表示我們的目標完成了~
本篇博客的反爬內容搞定~
總結
以上是生活随笔為你收集整理的悟空问答python反爬_Python写个爬虫碰到反爬了,怎么办那就动手破坏它!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 03 graphx 从 SSSP 来看
- 下一篇: Markdown中如何实现内容折叠操作