技术文章
当前位置:首页 > Python技术文章 > python3调用百度翻译API实现实时翻译

python3调用百度翻译API实时翻译的实例代码

  • 发布时间:
  • 作者:码农之家原创
  • 点击:112

这篇文章主要知识点是关于python3、百度翻译API、实时翻译、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3.6零基础入门与实战
  • 类型:Python大小:518.9 MB格式:PDF出版:清华大学出版社作者:王启明
立即下载

更多Python相关的学习资源可以参阅 Python电子书程序设计电子书 等栏目。

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()

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

以上就是本次给大家分享的关于Python的全部知识点内容总结,大家还可以在下方相关文章里找到python字符串和常见数据结、 实例讲解python MNIST手写识、 如何由java转学python、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:NumPy 数组使用知识点总结

下一篇:Python list列表中删除多个重复元素的方法实例

展开 +

收起 -

python3翻译 相关电子书
学习笔记
网友NO.356201

Python爬虫实现简单的爬取有道翻译功能示例

本文实例讲述了Python爬虫实现简单的爬取有道翻译功能。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*-#!python3import urllib.requestimport urllib.parseimport jsonwhile True : content = input("请输入需要翻译的内容:(按q退出)") if content == 'q' : break url = 'http://fanyi.youdao.com/translate?smartresult=dictsmartresult=ugc WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' data = {} data['type'] = 'AUTO' data['i'] = content data['doctype'] = 'json' data['xmlVersion'] = '1.8' data['keyfrom'] = 'fanyi.web' data['ue'] = 'UTF-8' data['action'] = 'FY_BY_CLICKBUTTON' data['typoResult'] = 'true' data = urllib.parse.urlencode(data).encode('utf-8') req = urllib.request.Request(url,data,head) response = urllib.request.urlopen(req) html = response.read().decode('utf-8') target = json.loads(html) print("翻译结果:%s" %(target['translateResult'][0][0]['tgt'])) 更多关于Python相关内容可查看本站专题……

网友NO.190692

基于python实现百度翻译功能

运行环境: python 3.6.0 今天处于练习的目的,就用 python 写了一个百度翻译,是如何做到的呢,其实呢就是拿到接口,通过这个接口去访问,不过中间确实是出现了点问题,不过都解决掉了 先晾图后晾代码 运行结果: 代码: # -*- coding: utf-8 -*-"""功能:百度翻译注意事项:中英文自动切换"""import requestsimport reclass Baidu_Translate(object): def __init__(self, query_string): self.query_string = query_string self.url_1 = 'https://fanyi.baidu.com/sug' # self.url = 'https://fanyi.baidu.com/v2transapi' # 这里不能用这个地址,因为对方采用了反爬虫措施,访问这个地址是人家是不会给你任何数据的 self.url_0 = 'https://fanyi.baidu.com/transapi' self.zh_pattern = re.compile('[\u4e00-\u9fa5]+') self.headers = { 'Accept': '* / *', 'Accept - Encoding': 'gzip, deflate', 'Accept - Language': 'zh-CN, zh; q=0.9', 'Connection': 'keep - alive', 'Content-Type': 'application/x-www……

网友NO.658627

Python实现微信翻译机器人的方法

相信大家在日常学习或者是阅读英文文章的过程中,难免会出现几个不认识的单词,或者想快速翻译某段英文的意思。 今天,利用Python爬虫等知识,教大家打造一个微信下的翻译小助手。好吧,开始干活。 先来看看效果如何 发送要翻译的内容给我们的翻译小助手,它会自动回复翻译好的内容。 环境配置: Python版本:3.6.0 系统平台:Windows 10 X64 IDE:pycharm 相关模块: json模块 itchat模块 re模块 request模块 parse模块 以及一些Python自带的模块。 根据内容获取翻译的结果 这里使用的是有道翻译API接口。大致思路说一下: 1. 创建连接接口 2. 创建要提交的数据 3. 将数据转化为服务器可以处理的信息并提交 4. 返回翻译结果 这部分功能我们封装成一个函数,参数是需要发送的微信用户名,需要翻译的内容。 数据格式我们是以json的格式发送过去的,然后获取的也……

网友NO.877612

Python3.6实现带有简单界面的有道翻译小程序

本人使用的是Python3.6(32bit),在win10上运行的 代码如下: from tkinter import *import urllib.requestimport urllib.parseimport json#实现翻译功能的函数def translate(content): url='http://fanyi.youdao.com/translate?smartresult=dictsmartresult=ugc WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883' data={} data['type']='AUTO' data['i']= content data['doctype']= 'json' data['xmlVersion']= '1.8' data['keyfrom']= 'fanyi.web' data['ue']= 'UTF-8' data['action']= 'FY_BY_CLICKBUTTON' data['typoResult']='true' data=urllib.parse.urlencode(data).encode('utf-8') req=urllib.request.Request(url,data,head) response=urllib.request.urlopen(req) html=response.read().decode('utf-8') target=json.loads(html) result = target['translateResult'][0][0]['tgt'] return result#实现界面功能root =Tk()root.title('中英互译')frame = Frame(root)frame.grid(padx = 10, pady = 10)v2 = StringVar()Label(frame,text='输入要翻译的文字:').grid(row=0,column=0)Label(frame,te……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明