国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python通過調用有道翻譯api實現翻譯功能示例

2020-02-15 22:27:22
字體:
來源:轉載
供稿:網友

本文實例講述了Python通過調用有道翻譯api實現翻譯功能。分享給大家供大家參考,具體如下:

通過調用有道翻譯的api,實現中譯英、其他語言譯中文

Python代碼:

# coding=utf-8import urllibimport urllib2import jsonimport timeimport hashlibclass YouDaoFanyi: def __init__(self, appKey, appSecret):  self.url = 'https://openapi.youdao.com/api/'  self.headers = {   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36",  }  self.appKey = appKey # 應用id  self.appSecret = appSecret # 應用密鑰  self.langFrom = 'auto' # 翻譯前文字語言,auto為自動檢查  self.langTo = 'auto'  # 翻譯后文字語言,auto為自動檢查 def getUrlEncodedData(self, queryText):  '''  將數據url編碼  :param queryText: 待翻譯的文字  :return: 返回url編碼過的數據  '''  salt = str(int(round(time.time() * 1000))) # 產生隨機數 ,其實固定值也可以,不如"2"  sign_str = self.appKey + queryText + salt + self.appSecret  sign = hashlib.md5(sign_str).hexdigest()  payload = {   'q': queryText,   'from': self.langFrom,   'to': self.langTo,   'appKey': self.appKey,   'salt': salt,   'sign': sign  }  # 注意是get請求,不是請求  data = urllib.urlencode(payload)  return data def parseHtml(self, html):  '''  解析頁面,輸出翻譯結果  :param html: 翻譯返回的頁面內容  :return: None  '''  data = json.loads(html)  print '-' * 10  translationResult = data['translation']  if isinstance(translationResult, list):   translationResult = translationResult[0]  print translationResult  if "basic" in data:   youdaoResult = "/n".join(data['basic']['explains'])   print '有道詞典結果'   print youdaoResult  print '-' * 10 def translate(self, queryText):  data = self.getUrlEncodedData(queryText) # 獲取url編碼過的數據  target_url = self.url + '?' + data # 構造目標url  request = urllib2.Request(target_url, headers=self.headers) # 構造請求  response = urllib2.urlopen(request) # 發送請求  self.parseHtml(response.read()) # 解析,顯示翻譯結果if __name__ == "__main__": appKey = '應用id' # 應用id appSecret = '應用密鑰' # 應用密鑰 fanyi = YouDaoFanyi(appKey, appSecret) while True:  queryText = raw_input("請輸入你好翻譯的文字[Q|quit退出]: ").strip()  if queryText in ['Q', 'quit']:   break  fanyi.translate(queryText)

關于有道翻譯api的詳細說明可參考其官網:http://ai.youdao.com/docs/api.html

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python Socket編程技巧總結》、《Python URL操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民乐县| 新郑市| 寿阳县| 万载县| 平乐县| 玛曲县| 正安县| 富平县| 横峰县| 镇江市| 柳州市| 建瓯市| 庆阳市| 黄浦区| 临湘市| 临高县| 商城县| 汕尾市| 天等县| 珲春市| 临海市| 满城县| 萨迦县| 荣昌县| 峨山| 铜陵市| 双江| 牙克石市| 会昌县| 祁连县| 周宁县| 夏津县| 普定县| 云安县| 枞阳县| 道真| 贡嘎县| 辉南县| 绍兴市| 海南省| 南岸区|