百度翻译
先在百度翻译开发者注册一下账号,申请一下通用翻译API。
通用翻译API通过HTTP接口对外提供多语种互译服务。您只需要通过调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。
百度翻译python3代码
#来源于:http://http://blog.csdn.net/lcyong_
#coding: utf8
import http.client
import hashlib
import json
import urllib
import random
import sys
def baidu_translate(content):
appid = '' # 填写你的appid
secretKey = '' # 填写你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
q = content
fromLang = 'en' # 源语言
toLang = 'zh' # 翻译后的语言
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()
def content_filter(content):
if(len(content.split())>=2):
#print('content大于等于2')
baidu_translate(sys.argv[1])
else:
#print('content小于2,不翻译')
print('^_^')
return '';
if __name__ == '__main__':
# while True:
# print("请输入要翻译的内容,如果退出输入q")
# content = input()
# if (content == 'q'):
# break
#baidu_translate(sys.argv[1])
content_filter(sys.argv[1])