百度翻譯&&金山詞霸API


 1 #/usr/bin/env python3
 2 #coding=utf8
 3  
 4 """百度翻譯api功能實現函數,本模塊基於Python3.x實現,getTransResult(q)中參數q是需被翻譯的內容,目前該函數的源語言默認英文,目標語言默認簡體中文"""
 5 
 6 
 7 import http.client
 8 import hashlib
 9 import urllib
10 import random
11 import demjson
12 
13 def getTransResult(q): 
14 
15     """
16     從百度翻譯API獲取源語言翻譯結果的實現函數。get請求字符串構造具體請參照百度翻譯開發者文檔
17     fromLang&&toLang分別是源語言與目標語言,現階段默認為英語與簡體中文,后期可根據需求作為函數參數動態傳入
18     """
19 
20     appid = 'xxxxxxxxxxxx' #開發者id
21     secretKey = 'xxxxxxxxxx'  #開發者密鑰
22 
23     
24     httpClient = None
25     myurl = '/api/trans/vip/translate'
26     #q = 'hello baidu trans'    #要翻譯的內容
27     fromLang = 'en'     #源語言
28     toLang = 'zh'   #目標語言
29     salt = random.randint(32768, 65536) #隨機數
30 
31     sign = appid+q+str(salt)+secretKey  #需要生成md5碼的字符串
32     
33     m1 = hashlib.md5(sign.encode(encoding='utf-8'))
34     sign = m1.hexdigest()
35     myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign  #get請求字符串
36     
37     try:
38         httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
39         httpClient.request('GET', myurl)
40         #response是HTTPResponse對象
41         response = httpClient.getresponse()     #獲取返回結果
42         mresult = demjson.decode(response.read())   #json解碼
43         #print(mresult["trans_result"][0]["dst"])
44         return mresult["trans_result"][0]["dst"]
45     
46     except Exception as e:
47         print(e)
48     finally:
49         if httpClient:
50             httpClient.close()
51             
52 
53 if __name__ == "__main__":
54     print(getTransResult("hello"))

 由於百度翻譯不提供音標、發音之類的內容很是不方便,在百度翻譯頁面上發現數據來自金山詞霸,於是乎用金山詞霸看看

 

 1 #/usr/bin/env python3
 2 #coding=utf8
 3  
 4 “”“金山詞霸版”“”
 5 
 6 import http.client
 7 import hashlib
 8 import urllib
 9 import random
10 import json
11 
12 def getTransResult(q,type = "json"): 
13 
14 
15     
16     httpClient = None
17     myurl = '/api/trans/vip/translate'
18     #q = 'hello baidu trans'    #要翻譯的內容
19     myurl = "/api/dictionary.php?w="+q+"&type="+type+"&key=xxxxxxxxxxxx"  #開發者Key
20     
21     try:
22         httpClient = http.client.HTTPConnection('dict-co.iciba.com')
23         httpClient.request('GET', myurl)
24         #response是HTTPResponse對象
25         response = httpClient.getresponse()     #獲取返回結果
26         mresult = json.loads(response.read().decode("utf-8"))
27         
28         
29         #print(mresult)
30         return mresult
31     
32     except Exception as e:
33         print(e)
34     finally:
35         if httpClient:
36             httpClient.close()
37             
38 
39 if __name__ == "__main__":
40     print(getTransResult("hello"))
41     

要啥有啥感覺棒棒噠


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM