1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python实用脚本(三)—— 通过有道智云API实现翻译

python实用脚本(三)—— 通过有道智云API实现翻译

时间:2023-04-29 16:31:07

相关推荐

python实用脚本(三)—— 通过有道智云API实现翻译

本期主题:

python通过有道智云API实现文本翻译


往期链接:

python实用脚本(一)—— 批量修改目标文件夹下的文件名python实用脚本(二)—— 使用xlrd读取excel


1.原理

使用官方API的原理十分简单,实际上就是按照官方要求的格式,将需要翻译的文本填充好,使用官方提供的API接口发过去

2.操作步骤

1.申请应用以及ID、key

就是在有道智云的官网上申请一个ID和KEY,然后使用他们的产品,具体步骤:

1.登录 有道智云官网,注册账户;

2.选择自然语言翻译服务下面的文本翻译,然后创建应用

3. 创建应用时选择文本翻译,接入方式选择API,应用名称按自己喜好随便填

4.前面三步完成后,环境基本已经搞定了,能获取到一个应用ID应用秘钥,这两个东西是关键,后面我们能够使用上

2.接口的使用

关于接口的使用,没有比官方文档更好的说明了,直接上官方文档链接,有道智云文本翻译服务

3.代码示例

import requestsimport timeimport hashlibimport uuidyoudao_url = '/api' # 有道api地址# 需要翻译的文本'translate_text = "how are you!"print("需要翻译的文本:"+translate_text)# 翻译文本生成sign前进行的处理input_text = ""# 当文本长度小于等于20时,取文本if(len(translate_text) <= 20):input_text = translate_text# 当文本长度大于20时,进行特殊处理elif(len(translate_text) > 20):input_text = translate_text[:10] + str(len(translate_text)) + translate_text[-10:]time_curtime = int(time.time()) # 秒级时间戳获取app_id = '这里填你们自己的应用id' # 应用iduu_id = uuid.uuid1() # 随机生成的uuid数,为了每次都生成一个不重复的数。salt = str(uu_id)app_key = '这里填你们自己的应用秘钥' # 应用密钥sign = hashlib.sha256((app_id + input_text + salt + str(time_curtime) + app_key).encode('utf-8')).hexdigest() # sign生成data = {'q':translate_text, # 翻译文本'from':"en", # 源语言'to':"zh-CHS", # 翻译语言'appKey':app_id, # 应用id'salt':salt, # 随机生产的uuid码'sign':sign, # 签名'signType':"v3", # 签名类型,固定值'curtime':time_curtime, # 秒级时间戳}r = requests.get(youdao_url, params = data).json() # 获取返回的json()内容# print("err_code: " + r["errorCode"]) #获取翻译的err_codeprint("翻译后的结果:" + r["translation"][0]) # 获取翻译内容

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。