python百度翻譯api
阿新 • • 發佈:2018-12-12
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 12 11:41:14 2018
@author: Administrator
"""
import http.client
import hashlib
import json
import urllib
import random
def baidu_translate(content):
appid = '20151113000005349'
secretKey = 'osubCEzlGjzvw8qdQc41'
httpClient = None
myurl = '/api/trans/vip/translate'
q = content
fromLang = 'zh' # 源語言
toLang = 'en' # 翻譯後的語言 jp日文
salt = random.randint(32768, 65536)
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse. quote(
q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
salt) + '&sign=' + sign
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
# response是HTTPResponse物件
response = httpClient. getresponse()
jsonResponse = response.read().decode("utf-8")# 獲得返回的結果,結果為json格式
js = json.loads(jsonResponse) # 將json格式的結果轉換字典結構
dst = str(js["trans_result"][0]["dst"]) # 取得翻譯後的文字結果
print(dst) # 列印結果
except Exception as e:
print(e)
finally:
if httpClient:
httpClient.close()
if __name__ == '__main__':
while True:
print("請輸入要翻譯的內容,如果退出輸入q")
content = input()
if (content == 'q'):
break
baidu_translate(content)
請輸入要翻譯的內容,如果退出輸入q
很高興認識你
Nice to meet you
請輸入要翻譯的內容,如果退出輸入q