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的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python调用百度翻译-python3调用百度翻译API实时翻译的实例代码相关推荐

  1. python中求合数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  2. python爬斗鱼直播_Python爬虫:利用API实时爬取斗鱼弹幕

    原标题:Python爬虫:利用API实时爬取斗鱼弹幕 这些天一直想做一个斗鱼爬取弹幕,但是一直考试时间不够,而且这个斗鱼的api接口虽然开放了但是我在github上没有找到可以完美实现连接.我看了好多 ...

  3. python批量解压文件_python 批量解压压缩文件的实例代码

    下面给大家介绍python 批量解压压缩文件的实例代码,代码如下所述: #/usr/bin/python#coding=utf-8import os,sys import zipfile open_p ...

  4. python文件查重并合并_Python实现文件信息进行合并实例代码

    将电话簿TeleAddressBook.txt和电子邮件EmailAddressBook.txt合并为一个完整的AddressBook.txt def main(): ftele1=open(&quo ...

  5. python七段数码管绘制实验报告_Python绘制七段数码管实例代码

    七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置 绘制模式: input:输入当前日期的数字形式 proc ...

  6. python文件按时间排序_python按修改时间顺序排列文件的实例代码

    python按修改时间顺序排列文件,具体代码如下所示: import os def sort_file_by_time(file_path): files = os.listdir(file_path ...

  7. python读取word页眉_python批量替换页眉页脚实例代码

    简介 本文分享的实例代码主要通过python语言实现批量替换页眉页脚的操作功能,具体如下. 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- impor ...

  8. python woe分箱_python自动分箱,计算woe,iv的实例代码

    笔者之前用R开发评分卡时,需要进行分箱计算woe及iv值,采用的R包是smbinning,它可以自动进行分箱.近期换用python开发, 也想实现自动分箱功能,找到了一个woe包,地址https:// ...

  9. python奇数偶数行输出_python对输出的奇数偶数排序实例代码

    我们从小学的时候就学习了奇数偶数,知道整数可以分成奇数和偶数两大类,能被2整除的数叫做偶数,不能被2整除的数叫做奇数.在我们python编程中,会遇到很多数字和代码,有的时候会很乱,不好操作. 在遇到 ...

最新文章

  1. 利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!...
  2. yolov5模型训练
  3. setinterval 会被销毁吗_链信全国城市节点竞价活动完美收官,第一批节点总计销毁516600个CCT!...
  4. elementUI的DatePicker+DateTimePicker组件的自定义日期禁用
  5. 西南大学C语言2019年12月,西南大学[1056]计算机基础2020年12月机考参考答案
  6. 干货 | 100大产业链全景图
  7. Spring攻略学习笔记(9)------用依赖检查属性
  8. (4.2.48)MVPArms源码分析
  9. WebQQ3.0体验
  10. 使用GDI绘制一个类似进度条的控件(1)
  11. SOUI知识点小结2
  12. 隐式差分方程c语言,科学网—显式与隐式差分 - 张凌的博文
  13. MATLAB永久常数
  14. 网卡能通过usb接口与计算机连接吗,usb网卡怎么使用 usb网卡使用方法【图文】...
  15. App Store 评分和评论:用户评论如何影响 App Store 排名
  16. 考研高危人群!你是否还在危险的边缘试探?
  17. Android卡顿优化
  18. JAVA中下载文件名含有中文乱码一种少见的解决方案
  19. 互斥锁(mutex)的使用
  20. 用C++实现iec61850协议

热门文章

  1. Linux安装Yapi
  2. 未达款项 银行余额调节表及EBS的实现
  3. 【Python从入门到实战100天】06. 函数和模块的使用(保姆级图文+实现代码)
  4. 安卓开发之用RecyclerView做陈列式布局(仿小红书首页/淘宝商品浏览)
  5. undertow配置
  6. 用Kotlin画起仿掌上英雄联盟和懂球帝的自定义多边形战力图
  7. vr运用在计算机专业上,VR虚拟技术在计算机教学中具体应用分析
  8. java版林地府邸种子,我的世界林地府邸种子2021
  9. java-eclipse项目出现错误的解决方案
  10. 父页面刷新iframe页面