python 百度翻译_使用python实现文本的快速翻译_基于百度翻译

本文基于python和第三方requests模块,实现了在本地利用百度翻译对文本进行相关的翻译工作(ps:本文仅作技术交流, 侵权删)

准备工作及基本的分析

百度翻译官网:https://fanyi.baidu.com/, 随便查询一个单词,看下查询过程,如下(以下操作均是基于chrome浏览器)

0c1a5854efd84f4b9a5d4820cc5a243c.png

从network查找出负责翻译的url接口

0x01

从上图可以看到查询其实是发送到了这个url地址,https://fanyi.baidu.com/v2transapi?from=en&to=zh,通过分析,我们得出结论

我们将url分解成两个部分看:

'https://fanyi.baidu.com/v2transapi'和'from=en&to=zh',前面部分永恒不变,后面部分代表着要从哪种语言翻译成哪种语言(from/to)

0x02

请求头部分就不说了,大家都懂,确定是post请求,另外写几个必须的请求头就行了, cookies是必须要带的参数, 在Requests.headers参数中, 需要复制到本文最后的代码cookies参数中

from data里面的信息是重中之重,需要带着这些参数发送请求,这里面有很多的信息,我们需要判断哪些是必须的参数,哪些是不需要的参数,通过一波分析,我们知道了query代表了要翻译的短语,from和to就是语种,还有就是sign和token值必须带着去请求,其他几个参数没啥用

domain,simple_means_flag,transtype这几个参数带着就行了,不变化的

token:token一般都在网页中有,所以去搜索一波试试,果然搜到了(ctrl+f/command+f)

0b4d2f6e7ba0e12ca089ee5f2331bf2e.png

token搜索

sign:这个是百度翻译的难点,这个是JS生成的,所以要找js脚本代码在哪里,全局搜索sign,通过分析,我们终于还是拿到了负责计算sign的js代码,代码如下(网站上js的脚本路径: https://fanyi-cdn.cdn.bcebos.com/static/translation/pkg/index_88a11cb.js)

# 这个变量i是怎么来的,我终究还是没搞懂, 我碰巧找到以前用的,拿过来尝试一下,竟然是对的var i = "320305.131321201"fu
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值