Python3 开发者版抓取百度翻译结果

Python3 开发者版抓取百度翻译结果

author: he xiaodong date: 2019-10-02

前置条件:首先需要认证为百度翻译开放平台的开发者,能够在控制台获取到 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 能获取到基础信息。