电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python如何通過百度翻譯API實現翻譯功能

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

本人英語不好,很多詞組不認識,只能借助工具;百度翻譯和谷歌翻譯都不錯,近期自學Python,就想能否自己設計一個百度翻譯軟件呢?

百度翻譯開放平臺:http://api.fanyi.baidu.com/api/trans/product/index

Python如何通過百度翻譯API實現翻譯功能

百度翻譯開放平臺是百度翻譯面向廣大開發者提供開放服務的平臺。

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

通用翻譯API采用全流程自助申請的模式。點擊網站上方的“登錄”按鈕,以百度賬號登錄平臺;在產品服務頁面點擊“立即使用”,按照頁面提示信息注冊成為開發者,即可獲得APPID和密鑰信息。同一百度賬號或手機號碼僅能申請一組APPID和密鑰信息,該APPID和密鑰信息可用于多項服務調用

已注冊開發者的用戶,可在產品服務頁面點擊“立即使用”或者在管理控制臺開通通用翻譯API服務;如需開通更多服務,可在管理控制臺-總覽頁面開通其他服務。

Python如何通過百度翻譯API實現翻譯功能

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

通用翻譯API通過HTTP接口對外提供多語種互譯服務。您只需要通過調用通用翻譯API,傳入待翻譯的內容,并指定要翻譯的源語言(支持源語言語種自動檢測)和目標語言種類,就可以得到相應的翻譯結果。

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

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

Python如何通過百度翻譯API實現翻譯功能

Python如何通過百度翻譯API實現翻譯功能

完整代碼:

import jsonimport randomimport hashlibfrom urllib import parseimport http.clientclass BaiduTranslate: def __init__(self,fromLang,toLang): self.url = '/api/trans/vip/translate' self.appid='xxxxx' #申請的賬號 self.secretKey = ’xxxxx’#賬號密碼 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實現翻譯功能

官方demo,應該是在Python2中運行的,Python3中可能無法運行,原因應該是沒有安裝對應的庫和語法的問題,

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

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

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

修改運行后,結果還是亂碼:

Python如何通過百度翻譯API實現翻譯功能

增加轉碼后,顯示正常,完整代碼如下:

#/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() #轉碼 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,大家可以對比下區別:

#/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對象 response = httpClient.getresponse() print response.read()except Exception, e: print efinally: if httpClient: httpClient.close()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 百度 Python
相關文章:
主站蜘蛛池模板: 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | 定制防伪标签_防伪标签印刷_防伪标签厂家-510品保防伪网 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 数年网路-免费在线工具您的在线工具箱-shuyear.com | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 猪I型/II型胶原-五克隆合剂-细胞冻存培养基-北京博蕾德科技发展有限公司 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 软启动器-上海能曼电气有限公司 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 釜溪印象网络 - Powered by Discuz! | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 |