有道翻译 api 接口调用实战演示

  • 第一章:准备
  • ① 有道智云·AI开放平台【注册】
  • ② 创建应用,获取【应用密钥和id】
  • ③ 创建实例,绑定应用
  • ④ 官方帮助文档
  • 第二章:实战
  • ① 源码展示
  • ② 要点讲解
  • ③ 效果展示

先来张效果图,然后在来给大家展示我的接口调用过程。

python 有道api 有道api接口_接口调用

第一章:准备

我们在官方注册,获取我们后续需要的【应用密钥】和【应用id】。

① 有道智云·AI开放平台【注册】

有道 api 接口调用官方网站:有道智云

进去注册个账号。

python 有道api 有道api接口_有道_02

② 创建应用,获取【应用密钥和id】

创建应用获取应用密钥(API Key)

python 有道api 有道api接口_接口调用_03


python 有道api 有道api接口_接口调用_04


然后就可以看到应用密钥和应用 id 了,这两个是我们调用它的 api 所需要的。

服务器 IP 设置的话,就可以防止被其它人用了。

python 有道api 有道api接口_接口调用_05

③ 创建实例,绑定应用

然后创建个翻译实例,绑定刚才创建的应用。

python 有道api 有道api接口_有道_06

④ 官方帮助文档

有道 api 接口调用:官方帮助文档

python 有道api 有道api接口_帮助文档_07


有道老平台

python 有道api 有道api接口_有道_08

第二章:实战

① 源码展示

import requests
import time
import hashlib
import uuid

youdao_url = 'https://openapi.youdao.com/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
uu_id = uuid.uuid4()   # 随机生成的uuid数,为了每次都生成一个不重复的数。
app_key = "..."   # 应用密钥

sign = hashlib.sha256((app_id + input_text + str(uu_id) + str(time_curtime) + app_key).encode('utf-8')).hexdigest()   # sign生成


data = {
    'q':translate_text,   # 翻译文本
    'from':"en",   # 源语言
    'to':"zh-CHS",   # 翻译语言
    'appKey':app_id,   # 应用id
    'salt':uu_id,   # 随机生产的uuid码
    'sign':sign,   # 签名
    'signType':"v3",   # 签名类型,固定值
    'curtime':time_curtime,   # 秒级时间戳
}

r = requests.get(youdao_url, params = data).json()   # 获取返回的json()内容
print("翻译后的结果:" + r["translation"][0])   # 获取翻译内容

② 要点讲解

应用密钥和应用id获取

python 有道api 有道api接口_接口调用_09

③ 效果展示

效果图:

python 有道api 有道api接口_有道_10


喜欢的点个赞❤吧!