当我们需要将中文翻译成其他语言时,可以使用有道翻译这个 API 接口。Python 基于 requests 库可以发送 HTTP 请求,获取有道翻译 API 的返回数据,根据返回的数据进行相应的处理即可。整个过程分为以下几个步骤:
-
准备调用所需要的参数
根据有道翻译 API 文档中的要求,准备需要的参数信息,其中应包括翻译的文本、应用 ID 和应用密钥等。 -
向有道翻译 API 发送请求
在准备好参数之后,使用 requests 库发起 HTTP 请求,将参数传递到 API 并等待 API 返回结果。 -
解析并返回结果
根据 API 返回的结果,解析返回的 JSON 数据或调用相应的库进行后续的处理。
下面给出两个示例,分别是中文翻译成英文和英文翻译成中文:
示例一:将中文翻译成英文
import requests
import hashlib
import random
import json
def translate(content):
app_id = '你的应用 ID'
app_key = '你的应用密钥'
# 生成随机数
salt = str(random.randint(32768, 65535))
# 将需要翻译的内容进行 MD5 加密
sign_str = app_id + content + salt + app_key
sign = hashlib.md5(sign_str.encode('utf8')).hexdigest()
# 准备参数
param = {
'from': 'zh-CHS',
'to': 'en',
'appid': app_id,
'salt': salt,
'sign': sign,
'q': content
}
# 构造 URL
api_url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
r = requests.get(api_url, params=param)
result = json.loads(r.text)
# 处理返回结果
if 'trans_result' in result:
dst = result['trans_result'][0]['dst']
return dst
else:
return "翻译失败"
# 调用示例
print(translate('你好,世界!'))
示例运行结果:
Hello, world!
示例二:将英文翻译成中文
import requests
import hashlib
import random
import json
def translate(content):
app_id = '你的应用 ID'
app_key = '你的应用密钥'
# 生成随机数
salt = str(random.randint(32768, 65535))
# 将需要翻译的内容进行 MD5 加密
sign_str = app_id + content + salt + app_key
sign = hashlib.md5(sign_str.encode('utf8')).hexdigest()
# 准备参数
param = {
'from': 'en',
'to': 'zh-CHS',
'appid': app_id,
'salt': salt,
'sign': sign,
'q': content
}
# 构造 URL
api_url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
r = requests.get(api_url, params=param)
result = json.loads(r.text)
# 处理返回结果
if 'trans_result' in result:
dst = result['trans_result'][0]['dst']
return dst
else:
return "翻译失败"
# 调用示例
print(translate('Hello, world!'))
示例运行结果:
你好,世界!
以上就是 Python 调用有道翻译接口实现翻译的完整攻略,需要注意的是,这里使用的是百度翻译接口,有道翻译是需要付费的,所以需要自行注册有道翻译的开发者账号,并获取到相应的应用 ID 和应用密钥。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 调用有道翻译接口实现翻译 - Python技术站