python3調(diào)用百度翻譯API實(shí)現(xiàn)實(shí)時翻譯
今天需要做一個翻譯的工具,找到之前寫過的有道翻譯,已經(jīng)不能用了,最后看到百度翻譯還不錯,不過官方版本是Python2,我需要Python3,就自己寫了一個:
# coding: utf8
'''
@Author: LCY
@Contact: lchuanyong@126.com
@blog: http://http://blog.csdn.net/lcyong_
@Date: 2018-01-15
@Time: 19:19
說明: appid和secretKey為百度翻譯文檔中自帶的,需要切換為自己的
python2和python3部分庫名稱更改對應(yīng)如下:
httplib ----> http.client
md5 ----> hashlib.md5
urllib.quote ----> urllib.parse.quote
官方鏈接:
http://api.fanyi.baidu.com/api/trans/product/index
'''
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 = '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")# 獲得返回的結(jié)果,結(jié)果為json格式
js = json.loads(jsonResponse) # 將json格式的結(jié)果轉(zhuǎn)換字典結(jié)構(gòu)
dst = str(js["trans_result"][0]["dst"]) # 取得翻譯后的文本結(jié)果
print(dst) # 打印結(jié)果
except Exception as e:
print(e)
finally:
if httpClient:
httpClient.close()
if __name__ == '__main__':
while True:
print("請輸入要翻譯的內(nèi)容,如果退出輸入q")
content = input()
if (content == 'q'):
break
baidu_translate(content)
官方版本:
#/usr/bin/env python
#coding=utf8
import httplib
import md5
import urllib
import random
appid = '20151113000005349'
secretKey = 'osubCEzlGjzvw8qdQc41'
httpClient = None
myurl = '/api/trans/vip/translate'
q = 'apple'
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)
sign = appid+q+str(salt)+secretKey
m1 = md5.new()
m1.update(sign)
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
try:
httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
#response是HTTPResponse對象
response = httpClient.getresponse()
print response.read()
except Exception, e:
print e
finally:
if httpClient:
httpClient.close()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)簡單圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
python學(xué)生管理系統(tǒng)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了python學(xué)生管理系統(tǒng)的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04
python 將有序數(shù)組轉(zhuǎn)換為二叉樹的方法
這篇文章主要介紹了python 將有序數(shù)組轉(zhuǎn)換為二叉樹的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Python實(shí)現(xiàn)從概率分布中隨機(jī)采樣
這篇文章主要介紹了通過幾個機(jī)器學(xué)習(xí)中最常用的概率分布為例,來看看如何從一個概率分布中采樣,文章中的代碼對我們的工作或?qū)W習(xí)具有一定價值,感興趣的朋友可以了解一下2021-12-12
分解oracle存儲過程或函數(shù)調(diào)試過程步驟
這篇文章主要介紹了調(diào)試oracle存儲過程或函數(shù)過程步驟,文中附含詳細(xì)的圖文操作步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
Python通過調(diào)用mysql存儲過程實(shí)現(xiàn)更新數(shù)據(jù)功能示例
這篇文章主要介紹了Python通過調(diào)用mysql存儲過程實(shí)現(xiàn)更新數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Python調(diào)用mysql存儲過程實(shí)現(xiàn)更新數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
pytorch實(shí)現(xiàn)Tensor變量之間的轉(zhuǎn)換
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)Tensor變量之間的轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

