爬虫爱好者必备,JS逆向教程:今天淦百度翻译

Posted Code皮皮虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫爱好者必备,JS逆向教程:今天淦百度翻译相关的知识,希望对你有一定的参考价值。


打开百度翻译

逆向分析

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

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

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

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


# 从什么语言翻译成什么语言
from: en
to: zh

# 需要翻译的单词
query: love
transtype: realtime
simple_means_flag: 3

# 关键是下面两个
sign: 198772.518981
token: e8ee595fdb9a062d2d41124d778ebd79

domain: common

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

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


分析sign

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

打断点,刷新请求看看

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

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

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


分析token

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

没事,遇事不决就搜索

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

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

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

思路整理

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

源码获取方式

关注下面公众号:JavaCodes,回复:百度翻译逆向即可领取源码



福利

公众号干货内容输出,囊括Java、Python爬虫、力扣题解、大厂面试题 四大系列,更有长时间总结的干货资源分享



Java入门到就业学习路线规划

关注底部公众号回复: Java学习路线,即可领取全套资料


小白快速入门Python爬虫路线

关注底部公众号回复: 爬虫学习路线,即可领取全套资料

以上是关于爬虫爱好者必备,JS逆向教程:今天淦百度翻译的主要内容,如果未能解决你的问题,请参考以下文章

爬虫爱好者必备,JS逆向教程:今天淦百度翻译

爬虫逆向必备js语法基础与js反爬原理---视频合集(持续更新)

Python 打造基于有道翻译的命令行翻译工具(命令行爱好者必备)

爬虫反爬:JS逆向之实战3

爬虫反爬:JS逆向之实战3

爬虫反爬:JS逆向之实战3