python调用百度翻译API

先到百度翻译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越南语
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值