久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

瀏覽:2日期:2022-07-31 13:11:30

本人英語不好,很多詞組不認(rèn)識(shí),只能借助工具;百度翻譯和谷歌翻譯都不錯(cuò),近期自學(xué)Python,就想能否自己設(shè)計(jì)一個(gè)百度翻譯軟件呢?

百度翻譯開放平臺(tái):http://api.fanyi.baidu.com/api/trans/product/index

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

百度翻譯開放平臺(tái)是百度翻譯面向廣大開發(fā)者提供開放服務(wù)的平臺(tái)。

服務(wù)涵蓋:通用翻譯API、定制化翻譯API、語音翻譯SDK、拍照翻譯SDK等,并持續(xù)更新中。自己用通用的即可。

通用翻譯API采用全流程自助申請(qǐng)的模式。點(diǎn)擊網(wǎng)站上方的“登錄”按鈕,以百度賬號(hào)登錄平臺(tái);在產(chǎn)品服務(wù)頁面點(diǎn)擊“立即使用”,按照頁面提示信息注冊(cè)成為開發(fā)者,即可獲得APPID和密鑰信息。同一百度賬號(hào)或手機(jī)號(hào)碼僅能申請(qǐng)一組APPID和密鑰信息,該APPID和密鑰信息可用于多項(xiàng)服務(wù)調(diào)用

已注冊(cè)開發(fā)者的用戶,可在產(chǎn)品服務(wù)頁面點(diǎn)擊“立即使用”或者在管理控制臺(tái)開通通用翻譯API服務(wù);如需開通更多服務(wù),可在管理控制臺(tái)-總覽頁面開通其他服務(wù)。

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

通用翻譯API技術(shù)文檔 http://api.fanyi.baidu.com/api/trans/product/apidoc

通用翻譯API通過HTTP接口對(duì)外提供多語種互譯服務(wù)。您只需要通過調(diào)用通用翻譯API,傳入待翻譯的內(nèi)容,并指定要翻譯的源語言(支持源語言語種自動(dòng)檢測(cè))和目標(biāo)語言種類,就可以得到相應(yīng)的翻譯結(jié)果。

通用翻譯API HTTP地址:http://api.fanyi.baidu.com/api/trans/vip/translate

通用翻譯API HTTPS地址:https://fanyi-api.baidu.com/api/trans/vip/translate

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

完整代碼:

import jsonimport randomimport hashlibfrom urllib import parseimport http.clientclass BaiduTranslate: def __init__(self,fromLang,toLang): self.url = '/api/trans/vip/translate' self.appid='xxxxx' #申請(qǐng)的賬號(hào) self.secretKey = ’xxxxx’#賬號(hào)密碼 self.fromLang = fromLang self.toLang = toLang self.salt = random.randint(32768, 65536) def BdTrans(self,text): sign = self.appid + text + str(self.salt) + self.secretKey md = hashlib.md5() md.update(sign.encode(encoding=’utf-8’)) sign = md.hexdigest() myurl = self.url + ’?appid=’ + self.appid + ’&q=’ + parse.quote(text) + ’&from=’ + self.fromLang + ’&to=’ + self.toLang + ’&salt=’ + str(self.salt) + ’&sign=’ + sign try: httpClient = http.client.HTTPConnection(’api.fanyi.baidu.com’) httpClient.request(’GET’, myurl) response = httpClient.getresponse() html = response.read().decode(’utf-8’) html = json.loads(html) dst = html['trans_result'][0]['dst'] return True , dst except Exception as e: return False , eif __name__==’__main__’: BaiduTranslate_test = BaiduTranslate(’en’,’zh’) Results = BaiduTranslate_test.BdTrans('Hello, World!')#要翻譯的詞組 print(Results)

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

官方demo,應(yīng)該是在Python2中運(yùn)行的,Python3中可能無法運(yùn)行,原因應(yīng)該是沒有安裝對(duì)應(yīng)的庫和語法的問題,

查找各種資料發(fā)現(xiàn)原來Python 2.x中的'httplib'模塊在Python 3.x中變成了'http.client',

print語句輸出在3.x中要加(), MD5 要換成hashlib,

import hashlibstr1 = '中國(guó)是一個(gè)偉大的國(guó)家,中華民族是一個(gè)偉大的民族'md5 = hashlib.md5()md5.update(str1.encode('utf-8')) # 注意這里必須要編碼,否則報(bào)錯(cuò)print(md5.hexdigest())

修改運(yùn)行后,結(jié)果還是亂碼:

Python如何通過百度翻譯API實(shí)現(xiàn)翻譯功能

增加轉(zhuǎn)碼后,顯示正常,完整代碼如下:

#/usr/bin/env python#coding=utf8import jsonimport http.client #修改引用的模塊import hashlib #修改引用的模塊from urllib import parseimport randomappid = ’xxxx’ #你的appidsecretKey = ’xxxx’ #你的密鑰 httpClient = Nonemyurl = ’/api/trans/vip/translate’q = ’good’fromLang = ’en’toLang = ’zh’salt = random.randint(32768, 65536)sign = appid+q+str(salt)+secretKeym1 = hashlib.md5()m1.update(sign.encode('utf-8'))sign = m1.hexdigest()myurl = myurl+’?appid=’+appid+’&q=’+parse.quote(q)+’&from=’+fromLang+’&to=’+toLang+’&salt=’+str(salt)+’&sign=’+signtry: httpClient = http.client.HTTPConnection(’api.fanyi.baidu.com’) httpClient.request(’GET’, myurl) response = httpClient.getresponse() #轉(zhuǎn)碼 html = response.read().decode(’utf-8’) html = json.loads(html) dst = html['trans_result'][0]['dst'] print(dst)except Exception as e: print(e)finally: if httpClient: httpClient.close()

以下是官方demo,大家可以對(duì)比下區(qū)別:

#/usr/bin/env python#coding=utf8import httplibimport md5import urllibimport randomappid = ’’ #你的appidsecretKey = ’’ #你的密鑰 httpClient = Nonemyurl = ’/api/trans/vip/translate’q = ’apple’fromLang = ’en’toLang = ’zh’salt = random.randint(32768, 65536)sign = appid+q+str(salt)+secretKeym1 = 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對(duì)象 response = httpClient.getresponse() print response.read()except Exception, e: print efinally: if httpClient: httpClient.close()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 百度 Python
相關(guān)文章:
主站蜘蛛池模板: 国产一区在线观看视频 | 婷婷成人在线 | 99国产视频| 成人免费视频网 | 日韩欧美手机在线 | 久久夜色精品 | 欧美日韩一区二区三区免费视频 | 日本午夜影院 | 操人网址 | 久久视频一区二区 | 日本成人中文字幕 | 成人免费一区二区三区视频网站 | 久久91精品久久久久久9鸭 | 亚洲午夜精品在线观看 | 欧美一区在线观看视频 | 欧美一区二区三区在线观看视频 | 国产在线精品一区二区三区 | 日韩一区二区黄色片 | 久久久久久久久久久久福利 | 国产1区 | 国产精品极品美女在线观看免费 | h视频在线免费观看 | 中文字幕在线第一页 | 一区二区三区四区日韩 | 欧洲一区在线 | 久久美女| 欧美精品一 | 久久在线 | 亚洲欧美国产毛片在线 | a∨色狠狠一区二区三区 | 91大神免费观看 | 第一色站| 久久综合伊人 | 国产成人综合网 | 久久国产区 | 一区二区在线看 | 黄色成人免费看 | 日本精品一区二区三区在线观看视频 | 久久aⅴ国产欧美74aaa | 日韩一区在线视频 | 国产日产精品一区二区三区四区 |