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


Posted in Python onAugust 16, 2018

今天需要做一个翻译的工具,找到之前写过的有道翻译,已经不能用了,最后看到百度翻译还不错,不过官方版本是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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python修改注册表终止360进程实例
Oct 13 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
关于Python中浮点数精度处理的技巧总结
Aug 10 Python
Python实现自动上京东抢手机
Feb 06 Python
使用python编写监听端
Apr 12 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
python datetime中strptime用法详解
Aug 29 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
Python编解码问题及文本文件处理方法详解
Jun 20 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 #Python
Python pygorithm模块用法示例【常见算法测试】
Aug 16 #Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 #Python
Python使用pickle模块储存对象操作示例
Aug 15 #Python
Linux下多个Python版本安装教程
Aug 15 #Python
Python并发之多进程的方法实例代码
Aug 15 #Python
Python使用sort和class实现的多级排序功能示例
Aug 15 #Python
You might like
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
php生成随机数的三种方法
2014/09/10 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
nodejs基础应用
2017/02/03 NodeJs
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Python读取mp3中ID3信息的方法
2015/03/05 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
校三好学生主要事迹
2014/01/11 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
新农村建设典型材料
2014/05/31 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
用Python selenium实现淘宝抢单机器人
2021/06/18 Python