首页 > 其他 > 详细

制作一个简单的中翻英翻译器

时间:2020-11-28 21:13:30      阅读:53      评论:0      收藏:0      [点我收藏+]

严格来说不算翻译器,只是调用有道翻译的接口来当作我们的。话不多说,直接说过程

http://fanyi.youdao.com/ 首先这是本次我们要去拿的翻译接口网站

技术分享图片

 

技术分享图片

 

 

 

按住f12,观察有道传参格式,经过观察,确定链接为: http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule   POST请求  ,  发现只有五个值是变动的,如下图所示:

技术分享图片

 

 

 观察上图红色指标,i 是我们要输入的翻译词,  salt 和 lts 一看就像时间戳(最近在自定义写钉钉的机器人,发现大部分时间戳都喜欢写成 int(time.time() * 1000)格式),现在就是sign和bv不知道是什么,怎么办呢,直接点击search搜索这两个参数,发现在js里有东西:

技术分享图片

 

 

如上图,经过调试后发现了这四个参数的生成方式,(这里如何search和如何调试我就不详细解释了,上网找找就知道了)  分析这段js代码,ts的话肯定是时间戳,而且转换成python写法肯定是 int(time.time() * 1000),然后salt就是在时间戳的后面给了它一个随机数random,然后bv是把请求头进行md5加密, sign也是MD5加密,不过格式必须按照它后面写的那样,(这里我分析js代码可能比较快,因为自己会看点js而且也做过,如果觉得分析太快,不能理解,可以一个参数一个参数打印到console里面去看,然后去猜他的写法)

技术分享图片

 

 

 这里的改写不是很复杂,就是要明白点基础,然后模仿js写法生成加密信息,然后传参进去就可以了,请求头随便什么都可以,get_md5是我写好的一个MD5加密函数,python 如何MD5加密,可以去百度。

然后就是熟悉的传参,这边我使用的是requests模块,最终效果如下图:

技术分享图片

 

简单的翻译接口就拿到了,如果想看详细代码,可以访问:https://github.com/cyrilchans/myspider/blob/main/有道翻译/youdao.py,如果感兴趣,想练手类似的,可以去自己去抓下:http://vendor.heneng.cn:16790/bid_notice,这个和有道一样,可以当个简单的js练手

制作一个简单的中翻英翻译器

原文:https://www.cnblogs.com/cyril8888/p/14053657.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!