先到百度翻译API官网上注册:
http://api.fanyi.baidu.com/api/trans/product/index
获取APP ID和秘钥,每月免费200万次翻译次数
运行以下Python3代码
import requests
import string
import time
import hashlib
import json
import re
import numpy as np
api_url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
my_appid = '******' #你的APP ID
cyber = '*******' #你的秘钥
lower_case = list(string.ascii_lowercase)
def requests_for_dst(word):
#init salt and final_sign
salt = str(time.time())[:10]
final_sign = str(my_appid)+word+salt+cyber
final_sign = hashlib.md5(final_sign.encode("utf-8")).hexdigest()
#区别en,zh构造请求参数
paramas = {
'q':word,
'from':'en', # 源语言
'to':'spa', # 目标语言
'appid':'%s'%my_appid,
'salt':'%s'%salt,
'sign':'%s'%final_sign
} #翻译请求参数
my_url = api_url+'?appid='+str(my_appid)+'&q='+word+'&from='+'en'+'&to='+'spa'+'&salt='+salt+'&sign='+final_sign
response = requests.get(api_url,params = paramas).content
content = str(response,encoding = "utf-8")
json_reads = json.loads(content)
return json_reads['trans_result'][0]['dst']
'''f_en = open('test_removed.txt', 'r')
mystr = f_en.read()
en_list= re.sub("[^\w]", " ", mystr).split()
test_array=np.array(['',''])
for i in range(999):
row=np.array([en_list[i],requests_for_dst(en_list[i]).lower()])
test_array=np.row_stack((test_array,row))
print('百度翻译第%d'%(i+1)+'个单词完成!')
np.save("test.npy", test_array)
a=np.load("test.npy")
print (a)'''
en_list = np.load("vocab/vocabEN-ES.npy")
vocab_array=np.array(['',''])
for i in range(en_list.shape[0]):
#vocab_list[i].append(en_list[i])
#vocab_list[i].append(requests_for_dst(en_list[i]))
row=np.array([en_list[i][0],requests_for_dst(en_list[i][0])])
vocab_array=np.row_stack((vocab_array,row))
print('百度翻译第%d'%(i+1)+'个单词完成!')
vocab_array = np.delete(vocab_array,0,0)
np.save("vocabEN-ZH.npy", vocab_array)
a=np.load("vocabEN-ZH.npy")
print(a)
print(a.shape)
语言列表
源语言语种不确定时可设置为 auto,目标语言语种不可设置为 auto。
语言简写 | 名称 |
---|---|
auto | 自动检测 |
zh | 中文 |
en | 英语 |
yue | 粤语 |
wyw | 文言文 |
jp | 日语 |
kor | 韩语 |
fra | 法语 |
spa | 西班牙语 |
th | 泰语 |
ara | 阿拉伯语 |
ru | 俄语 |
pt | 葡萄牙语 |
de | 德语 |
it | 意大利语 |
el | 希腊语 |
nl | 荷兰语 |
pl | 波兰语 |
bul | 保加利亚语 |
est | 爱沙尼亚语 |
dan | 丹麦语 |
fin | 芬兰语 |
cs | 捷克语 |
rom | 罗马尼亚语 |
slo | 斯洛文尼亚语 |
swe | 瑞典语 |
hu | 匈牙利语 |
cht | 繁体中文 |
vie | 越南语 |