python调用有道翻译API进行翻译
步骤
- python调用有道翻译API进行翻译
- 准备调用API所需的APPID以及秘钥
- 1.有道智云注册账号
- 2.有道智云注册账号
- 3.创建实例,绑定应用
- 4.查看官方文档
- python实现对有道翻译API的调用
准备调用API所需的APPID以及秘钥
1.有道智云注册账号
有道 api 接口调用官方网站:有道智云
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608125119106.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
2.有道智云注册账号
创建应用,获取【应用密钥和id】
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608125204475.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021060812522669.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
然后就可以看到应用密钥和应用 id 了,这两个是我们调用它的 api 所需要的。
服务器 IP 设置的话,就可以防止被其它人用了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608125300672.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
3.创建实例,绑定应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608125340672.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
4.查看官方文档
官方帮助文档:文档链接
python实现对有道翻译API的调用
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608125822650.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ0OTUy,size_16,color_FFFFFF,t_70)
实现中英互译的功能,其他功能可参考官方文档更改参数设置。
def youdaoTranslate(translate_text,flag=1):
'''
:param translate_text: 待翻译的句子
:param flag: 1:原句子翻译成英文;0:原句子翻译成中文
:return: 返回翻译结果
'''
youdao_url = 'https://openapi.youdao.com/api'
input_text = ""
if (len(translate_text) <= 20):
input_text = translate_text
elif (len(translate_text) > 20):
input_text = translate_text[:10] + str(len(translate_text)) + translate_text[-10:]
time_curtime = int(time.time())
app_id = "xxxxxx"
uu_id = uuid.uuid4()
app_key = "xxxxx"
sign = hashlib.sha256(
(app_id + input_text + str(uu_id) + str(time_curtime) + app_key).encode('utf-8')).hexdigest()
data = {
'q': translate_text,
'appKey': app_id,
'salt': uu_id,
'sign': sign,
'signType': "v3",
'curtime': time_curtime,
}
if flag:
data['from'] = "zh-CHS"
data['to'] = "en"
else:
data['from'] = "en"
data['to'] = "zh-CHS"
r = requests.get(youdao_url, params=data).json()
return r["translation"][0]
记录备用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)