前置条件:首先需要认证为百度翻译开放平台的开发者,能够在控制台获取到 appid 和秘钥这两个信息。然后开通通用翻译服务。如果需要字典和发音信息,需要额外的企业认证及申请开通词典和发音了。
官方给的 demo 是 python 2.x 版本的,代码已经老旧了,就改成了 python 3.x 版本,代码如下:
#coding=utf8
import http.client
import hashlib
import urllib.parse
import random
appid = '' #你的appid
secretKey = '' #你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
q = 'apple'
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)
sign = appid+q+str(salt)+secretKey
m1 = hashlib.md5()
m1.update(sign.encode('utf-8'))
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
#response是HTTPResponse对象
response = httpClient.getresponse()
print(response.read())
文件根据百度给的 demo 修改的,主要是 md5 和 quote 方法的一些变更,稍微改写一下就可以运行。 py baidu.py
能获取到基础信息。