小白学Python——用 百度翻译API 实现 翻译功能
Posted adam012019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白学Python——用 百度翻译API 实现 翻译功能相关的知识,希望对你有一定的参考价值。
本人英语不好,很多词组不认识,只能借助工具;百度翻译和谷歌翻译都不错,近期自学Python,就想能否自己设计一个百度翻译软件呢?
百度翻译开放平台: http://api.fanyi.baidu.com/api/trans/product/index
百度翻译开放平台是百度翻译面向广大开发者提供开放服务的平台。
服务涵盖:通用翻译API、定制化翻译API、语音翻译SDK、拍照翻译SDK等,并持续更新中。自己用通用的即可。
通用翻译API采用全流程自助申请的模式。点击网站上方的“登录”按钮,以百度账号登录平台;在产品服务页面点击“立即使用”,按照页面提示信息注册成为开发者,即可获得APPID和密钥信息。同一百度账号或手机号码仅能申请一组APPID和密钥信息,该APPID和密钥信息可用于多项服务调用
已注册开发者的用户,可在产品服务页面点击“立即使用”或者在管理控制台开通通用翻译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
完整代码:
import json import random import hashlib from urllib import parse import http.client class 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 , e if __name__==‘__main__‘: BaiduTranslate_test = BaiduTranslate(‘en‘,‘zh‘) Results = BaiduTranslate_test.BdTrans("Hello, World!")#要翻译的词组 print(Results)
以上是关于小白学Python——用 百度翻译API 实现 翻译功能的主要内容,如果未能解决你的问题,请参考以下文章