赞
踩
有道 api 接口调用官方网站:有道智云
创建应用,获取【应用密钥和id】
然后就可以看到应用密钥和应用 id 了,这两个是我们调用它的 api 所需要的。
服务器 IP 设置的话,就可以防止被其它人用了。
官方帮助文档:文档链接
实现中英互译的功能,其他功能可参考官方文档更改参数设置。
def youdaoTranslate(translate_text,flag=1): ''' :param translate_text: 待翻译的句子 :param flag: 1:原句子翻译成英文;0:原句子翻译成中文 :return: 返回翻译结果 ''' youdao_url = 'https://openapi.youdao.com/api' # 有道api地址 # 翻译文本生成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 = "xxxxxx" # 自己的应用id uu_id = uuid.uuid4() # 随机生成的uuid数,为了每次都生成一个不重复的数。 app_key = "xxxxx" # 自己的应用密钥 sign = hashlib.sha256( (app_id + input_text + str(uu_id) + str(time_curtime) + app_key).encode('utf-8')).hexdigest() # sign生成 data = { 'q': translate_text, # 翻译文本 'appKey': app_id, # 应用id 'salt': uu_id, # 随机生产的uuid码 '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() # 获取返回的json()内容 # print("翻译后的结果:" + r["translation"][0]) # 获取翻译内容 return r["translation"][0]
记录备用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。