Loading... <div class="tip inlineBlock warning simple"> 🤖 本博客内容使用 GPT-4 技术进行润色 </div> 在多元化的全球化环境中,跨语言的交流变得越来越重要。对于开发者来说,有时需要处理多种语言的数据,或者需要为用户提供多语言的界面。这时候,翻译就成为了我们开发过程中的一项重要功能。在这篇博客中,我们将介绍如何在 Python 中调用百度翻译 API 和网页端接口,以实现自动翻译的功能。 ## 调用百度翻译开放平台 API 百度翻译开放平台支持 200+ 语种、覆盖 4 万多个语言方向,实时响应海量、复杂的翻译请求,翻译质量达到世界领先水平,为各类开发者提供业界最全的翻译服务解决方案。下面我们来看一下如何在 Python 中调用相关 API。 首先,我们需要在百度翻译开放平台 API 的官方网站上创建一个账户,并获取 API Key 和 Secret Key。 然后,我们可以使用 Python 的 `requests` 库来发送 HTTP 请求,调用百度翻译 API 来进行英文和中文的互译。需要注意的是,这段代码中的 `appid` 和 `secret_key` 需要替换为你在百度翻译 API 中获取的真实的 `appid` 和 `secret_key`。 ```python import requests import hashlib import json import time def getMD5(content): md5 = hashlib.md5() md5.update(content.encode('utf-8')) return md5.hexdigest() def request_translation(url, params, max_retries=5): retries = 0 while retries <= max_retries: response = requests.get(url=url, params=params) target = json.loads(response.text.encode('utf-8')) if target.get('error_code', -1) == -1: return target['trans_result'][0]['dst'] else: print('本次请求失败,原因为:', target['error_msg']) time.sleep(1) retries += 1 raise Exception('Translation request failed after maximum retries.') def translate(content, appid, secret_key, _from='en', _to='zh'): url = 'http://api.fanyi.baidu.com/api/trans/vip/translate' params = {'appid': appid, 'salt': '1314', 'from': _from, 'to': _to, 'q': content, 'sign': getMD5(appid + content + '1314' + secret_key)} return request_translation(url, params) if __name__ == '__main__': appid = 'appid' secret_key = 'secret_key' text = input("请输入英文:") print(translate(text, appid, secret_key, _from='en', _to='zh')) text = input("请输入中文:") print(translate(text, appid, secret_key, _from='zh', _to='en')) ``` ## 调用百度翻译网页端接口 除了百度翻译开放平台 API,我们还可以直接调用百度翻译的网页端接口来进行翻译。这种方法的优点是不需要注册账户和获取密钥,但是可能存在一些限制,例如频率限制和翻译文本的长度限制。 <div class="hideContent">此处内容需要评论回复后(审核通过)方可阅读。</div> Last modification:March 1, 2024 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏