作者:Harkerbest
声明:本文章为原创文章,本文章永久链接:https://www.harkerbest.cn/?p=318,转载请注明原文地址,盗版必究!!!
今天站长给大家分享Python通过调用翻译API来实现批量翻译的教程。试想你开发了一个项目,它必须支持多种语言,但是你的翻译能你有限,又不想请专业翻译,那么这个时候,你可以通过批量翻译的方法实现支持多种语言的语言包。下面开始教程:
1.查看翻译API的文档获取使用方法
市面上的翻译API很多,这里以微软提供的翻译API为例。下面是从微软官方获取到的翻译API的相关信息:
- 免费请求地址:https://cn.bing.com/ttranslatev3?isVertical=1&&IG=FFFF11FE1F4E4CD89E3312461FC1032B&IID=translator.5028.14
- 请求方式:post
- 返回数据类型:json
参数名称 | 参数类型 | 用法描述 | 是否必须 |
fromlang | 字符串 | 翻译源文本的语言类型 | 否 |
text | 字符串 | 翻译源文本 | 是 |
to | 字符串 | 目标语言类型 | 是 |
其中fromlang和to需要提交相应的语言代码,相关的语言代码请访问:https://docs.microsoft.com/zh-cn/azure/cognitive-services/translator/language-support查看。更多具体的参数和使用方法请访问微软官方文档:https://docs.microsoft.com/zh-cn/azure/cognitive-services/translator/
2.使用Python调用API实现批量翻译
根据前面提到的API的相关参数,可以构造如下代码实现翻译功能,我们需要将中文的“你好”翻译为英文的“Hello”。(由于微软官方提供的API需要登陆微软官网获取token,因此站长给大家分享的是通过抓包分析获得的免费API,不过调用此API还需要设置UA伪装成浏览器,否则就会提示错误,下面的代码中包括了设置UA的方法)
import requests #用于发起post请求
url='https://cn.bing.com/ttranslatev3?isVertical=1&&IG=FFFF11FE1F4E4CD89E3312461FC1032B&IID=translator.5028.14' #请求地址
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'} #设置请求头
post_data={'fromlang':'zh-Hans','text':'你好','to':'en'} #设置请求参数
result=requests.post(url,headers=headers).content.decode() #发出请求并将请求数据转换为str格式
print(result)
输出结果如下图所示:
我们将它转换为更直观的形式:
图中的红色方框位置即为翻译的结果。接下来我们只需要使用Python自带的json库解析返回的json数据获取翻译文本即可。代码如下:
import json
data=json.loads(result) #将字符串转化为Python的列表和字典
translate_text=data[0]['translations'][0]['text'] #从转化的数据中获取翻译文本
print(translate_text)
运行结果如下图所示:
到这里,我们就成功实现了Python的自动翻译了!相信聪明的读者们早就想到如何进行批量翻译了,我们只需要把需要翻译的文本添加到一个列表内,接着用for循环展开,对每个文本进行翻译即可。这里就不在阐述了。
结语:
到这里,教程就结束啦,不知道帮到你没有呢。如果这篇教程对你有帮助,请转发给更多有需要的人,谢谢您的支持!最后,祝大家2021新春快乐!