注册地址:https://api.fanyi.baidu.com/api/trans/product/index
个人版每月可以免费翻译200万字,超出的部分49元每百万字,价格亲民,不过我想我应该用不了那么多。
官方文档:https://fanyi-api.baidu.com/api/trans/product/apidoc
主要就是教你要写哪几个参数的。
初体验:
import hashlib,requests
#百度翻译API
url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
#开发者ID
appid = '你的开发者ID'
#随机码
salt = '随机数'
#开发者密钥
key = '你的开发者密钥'
#语言列表
lan_list = {'自动检测': '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'}
q = input('请输入想要翻译的文字:')
print('\n可供选择的语言有:{}\n\n回车默认自动选择\n'.format(lan_list.keys()))
#指定原文字的语言
while True:
try:
input_lan_from = input('原文字是什么语言:')
if input_lan_from =='':
lan_from = 'auto'
break
else:
lan_from = lan_list[input_lan_from]
break
except Exception as err:
print('No such language, please try again!')
continue
#指定翻译的目标语言
while True:
try:
input_lan_to = input('想翻译成什么语言:')
lan_to = lan_list[input_lan_to]
break
except Exception as err:
print('No such language, please try again!')
continue
#生成签名
sign = hashlib.md5((appid+q+salt+key).encode('UTF-8')).hexdigest()
form_data = {
'q':q,
'from':lan_from,
'to':lan_to,
'appid':appid,
'salt':salt,
'sign':sign
}
#请求翻译
r=requests.get(url,params=form_data)
#筛选结果
dst = r.json()['trans_result'][0]['dst']
#返回结果
print("\n原文:{}\n翻译:{}\n".format(q,dst))
效果如下:
Comments | NOTHING