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

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

时间: 2018-08-15

python 实时翻译_python3调用百度翻译API实现实时翻译相关推荐

  1. ai图像识别python的项目_Python3调用百度AI识别图片中的文字功能示例【测试可用】...

    本文实例讲述了Python3调用百度AI识别图片中的文字功能.分享给大家供大家参考,具体如下: 首先pip install命令安装baidu-aip模块,如下图所示(这里使用pip3 install ...

  2. python调用百度地图API爬取西安市POI数据

    任务前提 做该项目之前,首先得有基础知识: 编程语言:python 编译工具:PyCharm 网络爬虫相关知识,xpath库,numpy,pandas等库. 任务准备: 去百度地图开放平台申请密匙:h ...

  3. Python调用百度地图api路径查询

    通过调用百度地图api获取两个地点的距离和时间.参数详见百度地图api官方文档. # -*- coding: utf-8 -*- """ Created on Thu M ...

  4. python 百度云api_Python——调用百度云API实现图文识别

    这是奔跑的键盘侠的第117篇文章 前几天写的一篇<按键精灵二三事系列第九篇--图文识别+发邮件>,有小伙伴留言说,可以直接调用百度云平台AI的OCR图文识别接口,不用自己单独做字库.于是就 ...

  5. python调用百度地图实现导航_python 怎么调用百度地图api

    应用编程接口(Application programming interface,API)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或 ...

  6. python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)

    1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...

  7. python调用百度接口实现ocr识别_Python 3调用百度OCR API实现剪贴板文字识别

    本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字. #!python3 import urllib.request, urllib.parse i ...

  8. c语言api获取百度地图,H5调用百度地图API获取地理位置

    //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ alert ...

  9. centerandzoom 无效_Django调用百度地图api在地图上批量增加标记点

    在调用百度地图api进行web开发时遇到了一个需求,我们需要在网页中内嵌一个div 然后在div中调用百度地图的js显示我们所需要的地区.根据需求坐标在地图上添加若干个标记点,并批量的为各个标记点设置 ...

最新文章

  1. Android和ios速度,不拼硬件拼体验 Android和iOS系统的加载速度测验
  2. (新聞) 友達光電 A+種子暑期實習計畫 埋下希望的光電種子 (日記)
  3. 企业以太坊联盟发布了愿景文件
  4. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_2.RabbitMQ研究-RabbitMQ介绍...
  5. Fortran95学习总结
  6. JS-加入收藏夹的代码
  7. Java 正则表达式 匹配英文字母
  8. JDBC获取数据库(mysql)四种连接方式(connection)
  9. centos7系统开启ftp服务器,centos7开启ftp服务器
  10. Heartbeat超时值
  11. Unity动态绘制多边形
  12. java计算机二级知识点、易错点整理(一)
  13. 2021年中国棘轮手柄市场趋势报告、技术动态创新及2027年市场预测
  14. 读取txt数据文件算法
  15. 基于QT编写的周立功CAN,可进行uds、bootloder的上位机开发
  16. css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
  17. c语言中热河输入空格,热河 - 在線打字測試(dazi.kukuw.com)
  18. commons-email邮件工具类的基本使用
  19. CakePHP 概览
  20. 瓦里安、勃林格殷格翰将参展第四届进博会;森世海亚集团中国区总部落地上海 | 医药健闻...

热门文章

  1. java list的contains,list的contains方法
  2. 命令行基础—简单命令的使用
  3. 互联网公司纷纷倒在了望京SOHO
  4. Robotaxi商业化:合纵连横,车企掘金
  5. android+微信彩蛋,微信的这些彩蛋,你真的知道吗?
  6. 配音工具大jiemi|盘点市面上那些超好用的配音神器,短视频作者看过来
  7. Linux chattr 命令
  8. 故障分析 | MySQL 启动遭遇 Permission denied 失败案例一则
  9. mysql tcmalloc_技术分享 | tcmalloc解决mysqld实例引发的cpu过高问题
  10. jna 构造函数_【JNA探索之路系列】之二:JNA API