要在Python中获取英文单词的翻译,您可以使用以下几种API接口:
-
百度翻译API:这是一个非常受欢迎的翻译API,它支持多种编程语言,包括Python。您可以通过简单的HTTP请求来实现翻译功能。首先,您需要在百度翻译开放平台注册并获取API密钥。然后,使用Python的
requests
库发送请求,并处理返回的JSON数据。例如:
更多信息请参考 。import requests import hashlib import random import json def trans_lang(q): appid = '你的appid' secretKey = '你的密钥' fromLang = 'en' toLang = 'zh' salt = random.randint(32768, 65536) sign = appid + q + str(salt) + secretKey sign = hashlib.md5(sign.encode()).hexdigest() myurl = '/api/trans/vip/translate' + '?appid=' + appid + '&q=' + q + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign response = requests.get(myurl) result = json.loads(response.text) trans_result = result['trans_result'][0]['dst'] return trans_result if __name__ == '__main__': text = 'Hello World' print(trans_lang(text))
-
有道翻译API:有道翻译API也是一个不错的选择,它提供了丰富的翻译功能。您需要在有道智云平台注册并获取API Key和Secret Key。然后,您可以使用以下代码进行翻译:
更多信息请参考 。import requests from hashlib import md5 import random import json import uuid def youdao_translate(text, from_lang='EN', to_lang='ZH-CHS'): appKey = '你的应用ID' appSecret = '你的应用密钥' curtime = str(int(time.time())) salt = str(random.randint(1, 65536)) sign_str = appKey + truncate(text) + salt + curtime + appSecret x_sign = md5(sign_str.encode('utf-8')).hexdigest() data = { 'q': text, 'from': from_lang, 'to': to_lang, 'appKey': appKey, 'salt': salt, 'signType': 'v3', 'curtime': curtime, 'sign': x_sign, } response = requests.get('https://openapi.youdao.com/api', params=data) result = json.loads(response.text) return result['translation'][0] if 'translation' in result else None def truncate(s): return s[:20] + str(len(s)) + s[-10:] if len(s) > 20 else s if __name__ == '__main__': text = 'Hello World' print(youdao_translate(text))
-
Google Translate API:Google提供的翻译API也非常强大,但请注意,它不是免费的。如果您需要高质量的翻译结果,可以考虑使用这个API。您可以使用
googletrans
这个Python库来方便地调用Google Translate API:
更多信息请参考 。from googletrans import Translator translator = Translator() result = translator.translate('Hello World', src='en', dest='zh-cn') print(result.text)
from googletrans import Translator, LANGUAGES
def translate_text(text, dest_language):
# 创建一个 Translator 实例
translator = Translator()
# 检查目标语言是否有效
if dest_language not in LANGUAGES:
print(f"Unsupported language: {dest_language}")
return
# 翻译文本
translation = translator.translate(text, src='zh-cn', dest=dest_language)
# 输出原始文本和翻译后的文本
print(f"Original ({LANGUAGES[translation.src]}): {text}")
print(f"Translated ({LANGUAGES[dest_language]}): {translation.text}")
print(translation.extra_data['parts'][0])
print(str(translation))
# 示例调用
text_to_translate = "Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks"
text_to_translate = "重量归一化:简单的重新聚集化以加速深度神经网络的培训"
destination_language = 'en' # 翻译成中文(简体)
translate_text(text_to_translate, destination_language)
- DeepL翻译API:DeepL是一个提供高质量翻译服务的平台,它的API也可以用来获取英文单词的翻译。您需要注册DeepL并获取API密钥。然后,可以使用以下代码进行翻译:
更多信息请参考 。import requests def deepl_translate(text, auth_key): headers = { 'Content-Type': 'application/json', 'Authorization': f'DeepL-Auth-Key {auth_key}' } data = {'text': text, 'target_lang': 'ZH'} response = requests.post('https://api-free.deepl.com/v2/translate', json=data, headers=headers) return response.json() if __name__ == '__main__': auth_key = '你的DeepL API密钥' text = 'Hello World' result = deepl_translate(text, auth_key) print(result['translations'][0]['text'])
选择适合您需求的API,并确保您遵循了API提供商的使用条款和限制。