requests+百度翻译api

百度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:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章