Python使用google_trans_new库调用谷歌翻译报错如何解决
问题复现
Python环境下使用google_trans_new库执行文本翻译时触发运行报错,复现代码如下:
from google_trans_new import google_translator translator = google_translator() sentence = 'Tanzania ni nchi inayoongoza kwa utalii barani' translate_text = translator.translate(sentence, lang_tgt='en') print(translate_text)
报错信息截图:
根因说明
google_trans_new库已停止维护多年,内置的谷歌翻译接口路径、请求参数规则、响应解析逻辑均与当前谷歌翻译公开接口的规则不匹配,直接调用必然触发解析错误、连接错误。
解决方法
按需二选一即可:
- 修复本地
google_trans_new源码
定位到Python环境安装路径下google_trans_new包内的google_trans_new.py文件,做两处修改:- 将文件内所有写死的
translate.googleapis.com接口域名替换为可正常访问的谷歌翻译域名 - 调整响应解析段的代码,适配最新接口返回的JSON结构,替换原有失效的取值路径,保存修改后即可正常调用。
- 将文件内所有写死的
- 替换为维护状态正常的翻译库
卸载原有失效库,改用持续更新的deep-translator库,兼容性更好,无需手动修改接口配置,调用流程:# 安装依赖 pip install deep-translatorfrom deep_translator import GoogleTranslator # 自动识别源语言,目标语言设为英语 translator = GoogleTranslator(source='auto', target='en') res = translator.translate('Tanzania ni nchi inayoongoza kwa utalii barani') print(res) # 运行输出:Tanzania is the leading country in tourism on the continent
提示:所有依赖谷歌翻译接口的库,都需要当前网络环境可正常连通对应服务,否则会触发超时、连接拒绝类报错。
内容的提问来源于stack exchange,提问作者Gowtham
相关产品推荐
相关产品推荐

