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

效果图如下:

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章的主要目的还是破解JS参数加密,百度翻译的JS过程并不是很复杂,非常适合新手练手。 首先,打开百度翻译,随...
    嗨学编程阅读 1,665评论 0 0
  • 转载自公众号:zuobangbang 这篇文章的主要目的还是破解JS参数加密,百度翻译的JS过程并不是很复杂,非常...
    苍简阅读 679评论 0 1
  • 到了差不多十几岁这个年纪时,很多人开始喜欢上看漫画,我把这一类人称之为漫画家族,而我恰好也在这个年龄段迷上了...
    希望梦曙光by吉吉阅读 3,973评论 3 3
  • 昨天,王宝强用尽洪荒之力,把网民的眼球,从国家游泳队手里抢夺了过来。各种段子,各种内幕,充斥手机屏幕。 网上曾经流...
    南瓜是只猫阅读 322评论 2 0
  • 万物生长的春天!阳光️明媚!魏县快乐语言的老师带着家长的信任和期待来到啦大磨幼儿园!一个多小时的时间家长听到啦一趟...
    刘虹女人幸福力阅读 379评论 0 0