注册地址: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))

效果如下: