python百度翻译接口_python3调用百度翻译API实时翻译的实例代码

python3调用百度翻译API实现实时翻译

今天需要做一个翻译的工具,找到之前写过的有道翻译,已经不能用了,最后看到百度翻译还不错,不过官方版本是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部分库名称更改对应如下:

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")# 获得返回的结果,结果为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()

if __name__ == '__main__':

while True:

print("请输入要翻译的内容,如果退出输入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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值