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:

 

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