Python高阶:【百度翻译逆向】图文视频教学!!!

小知识,大挑战!本文正在参与“  程序员必备小知识  ”创作活动

本文同时参与 「掘力星计划」  ,赢取创作大礼包,挑战创作激励金

Code皮皮虾 一个沙雕而又有趣的憨憨少年,和大多数小伙伴们一样喜欢听歌、游戏,当然除此之外还有写作的兴趣,emm...,日子还很长,让我们一起加油努力叭🌈

如果觉得写得不错的话,球球一个关注哦😉


打开百度翻译

image-20211016225528578

逆向分析

打开控制条,在输入框中输入一个单词,可看到右边有着对应的请求,请求到了翻译的结果

image-20211016225749764

下面,我们们来研究研究这个请求

首先引入眼帘的,可以看到,这个请求是POST请求,那么肯定有请求体

image-20211016230143084

可以看到下面就是请求体,我们来单个分析

image-20211016230347703

 ​
 # 从什么语言翻译成什么语言
 from: en
 to: zh
 ​
 # 需要翻译的单词
 query: love
 transtype: realtime
 simple_means_flag: 3
 ​
 # 关键是下面两个
 sign: 198772.518981
 token: e8ee595fdb9a062d2d41124d778ebd79
 ​
 domain: common
复制代码

换一个去进行翻译,对比上面和下面可以发现,token值没有变,但是sign改变了

多试几个,可以确定,sign跟随翻译稳进行改变,token确定不变

image-20211016230807056


分析sign

搜索v2transapi,因为每次会发起这个请求获取翻译结果,所以我们搜索这个关键词

image-20211016231130970

image-20211016231242618

打断点,刷新请求看看

可以看到,在这里停了下来,说明我们思路没错

image-20211016231331047

可以看到,请求体的数据来自上面,那么我们在sign处打断点,进去看看sign是怎么生成的

image-20211016231435114

可以看到是通过JS进行的加密等等操作最后得到的,但是其中涉及到一个关键的值,那就是window[l],我们暂时不看,去分析token

image-20211016231640099


分析token

可见,token是通过 window.common.token获取的,我们咋知道这是个啥东西

image-20211016231842543

没事,遇事不决就搜索

image-20211016231947171

可以知道,token原来是在访问页面的时候就生成了,怪不得是固定的

image-20211016232027068

在页面中搜索token,还能发现下面这个 window.gtk

image-20211016232130646

小伙伴可还记得之前有个 window[l],我直接拿图对比,看了下面这个图懂的都懂了吧

image-20211016232145783


思路整理

  1. 首先,我们要获取到token值和gtk,这都是后面要用到的值
  2. 生成sign,可以复制JS,利用python的库操控js,传参生成sign
  3. 模拟最开始的POST请求,获取翻译结果
  4. 结束

视频教学

生活太滋润了?硬核作品:【百度翻译JS逆向】,保姆级教程,你值得拥有!_哔哩哔哩_bilibili

行不更名,坐不改姓,全网都是Code皮皮虾,觉得不错的,球球有一个一键三连哦,哈哈😁

image.png


💖最后

我是 Code皮皮虾,一个热爱分享知识的 皮皮虾爱好者,未来的日子里会不断更新出对大家有益的博文,期待大家的关注!!!

创作不易,如果这篇博文对各位有帮助,希望各位小伙伴可以一键三连哦!,感谢支持,我们下次再见~~~


一键三连.png