百度api使用文档:http://api.fanyi.baidu.com/api/trans/product/apidoc#languageList
进行开发者认证后进行api使用,我使用requests模块请求这个api:
如下是官方文档给出的python3示例,是用urllib请求的。
然而我想用requests请求,代码如下:
import requests
import hashlib
import json
#繁转简
def f2j(self,line):
#使用hashlib散列,这里myappid和mycode分别代表认证后百度给你的APP ID和密钥
#salt作验证参数,随便写一个数即可,我这里就是123
sign = hashlib.md5(('appid%s1230code' % (line)).encode()).hexdigest()
#装填参数,参数参考官方文档,不再赘述
r = requests.get('https://fanyi-api.baidu.com/api/trans/vip/translate?q=%s&from=cht&to=zh&appid=myappid&salt=123&sign=%s' % (line, sign))
#得到的r是一个response对象,不能够像官方文档一样使用r.read(),而是r.text
r_all = r.text
#将返回的文本转化为json
r_json = json.loads(r_all)
print(r_json)
#使用字典方式取出(不知道为什么这里取值需要按字典格式处理)
line = r_json['trans_result'][0]['dst']
print(line)
return line
以下是输出的r_json: