爬虫趣味里面最吸引人之一就是算法分析。
加密的文件是
- http://shared.ydstatic.com/fanyi/newweb/v1.0.6/scripts/newweb/fanyi.min.js
复制代码
可以发现下面两行
- i = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),
- o = n.md5("fanyideskweb" + t + i + "aNPG!!u6sesA>hBAW1@(-");
复制代码
进过分析i就是salt,t就是需要翻译的东东,o就是sign
然后就是post进行翻译了
- http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
复制代码
参数如下
- i:123
- from:zh-CHS
- to:ja
- smartresult:dict
- client:fanyideskweb
- salt:1517475530858
- sign:c237bda429a18e1cbc4da5b2e4d28e39
- doctype:json
- version:2.1
- keyfrom:fanyi.web
- action:lan-select
- typoResult:false
复制代码
其中salt就是上面在fanyi.min.js里发现的第一行算,而sign则用第二行算出
我这里只验证了一些sign加密是否正确,完整的代码以及代码测试没有写。你可以试试。