Python破解百度翻译反爬机制---自制翻译器(文末附赠教程分享)
这篇文章的主要目的还是破解JS参数加密,百度翻译的JS过程并不是很复杂,非常适合新手练手。
首先,打开百度翻译,随便输点词语,点击翻译。
image
不断点击翻译,在network中会一直跳出框框内的内容。
image
打开第二个文件v2transapi,可以看到我们需要的内容。
image
现在来分析一下这个文件,它的请求方式为post,下图是它post时所需的data。from是你输入词语的类型,to是需要翻译成的类型,query是翻译的词语,sign和token是通过js文件生成的;现在来找一找这两个参数。
image
https://fanyi.bdstatic.com/static/translation/pkg/index_9b62d56.js:formatted是JS文件的链接,打断点调试可以看到,sign是通过m(‘翻译’ )生成的,token是通过 window.common.token生成。
image
其中window.common.token在页面的源代码中有出现 ‘04a7c540f2a1e1d6be3dee208d1b7525’;第二个框的参数后面会用到。
image
image
在来看m()函数,它的参数就是要翻译的内容,定位到5725-5727行,这三行是用来生成一个参数u,且u的值为window.gtk,也就是上一幅图第二个框框内的内容;为了使代码更加灵活,在构造js函数的时候,将参数u从定值转为m()函数的参数,这一部分进行调整。
image
调整后的JS代码如下:
image
至此整个流程就分析完了,下面来构造自己的翻译器把。顺便一说,百度翻译可以实现88种语言的互转噢。
image
效果图如下:
最后,想学习Python的小伙伴们!
请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!
pytyhon学习资料
python学习资料