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