首先需要在百度翻译API官网进行注册,需要有一个百度账户,这里面注册时候选择个人用户就可以了,这样就不用填写服务器IP地址了,注册内容较为简单,略过。
注册好之后,进入个人服务中心,
申请信息的下面就是你的ID和密钥。
下面你需要下载一下百度官方给的demo,这是基于python2写的 需要进行改造之后才能使用。
我直接将修改好的代码粘贴过来,亲测可以直接跑着用。
import random
import hashlib
import urllib.parse
import json
import http.client
def baidu_translation(content):
appid = '当然不能让你知道啦' # 你的appid
secretKey = '当然不能让你知道啦' # 你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
q = content
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
# response是HTTPResponse对象
response = httpClient.getresponse()
jsonResponse = response.read().decode("utf-8") # 获得返回的结果,结果为json格式
js = json.loads(jsonResponse) # 将json格式的结果转换字典结构
# print(js)
dst = str(js["trans_result"][0]["dst"]) # 取得翻译后的文本结果
return (dst) # 打印结果
except Exception as e:
print(e)
finally:
if httpClient:
httpClient.close()
# print(baidu_translation('My name is John.'))
english_data_list=[]
with open('english_data.txt','r',encoding='utf-8') as f:
for line in f:
english_data_list.append(line.strip('\n'))
f.close()
# temp=''
# chinses_data_list=[]
# for line in english_data_list:
# temp=baidu_translation(line)
# print(temp)
# chinses_data_list.append(temp)
with open('chinese_data.txt','a+',encoding='utf-8') as f:
for line in english_data_list:
temp = baidu_translation(line)
print(temp)
# chinses_data_list.append(temp)
f.write(temp+'\n')
f.close()
OK,大功告成,后续再对有道翻译和Google翻译的API做一下研究,也放到自己博客里面。 代码可以直接用,换成自己的数据就可以直接运行啦。