python调用百度api应用--小小翻译器

urllib库的使用

urllib库是python标准库中最常用的PYthon网页访问的模块,它可以让用户像访问本地文本文件一样读取网页的内容。

urlib.request模块:用来打开和读取url

urlib.error模块:包含一些由urlib.request产生的错误,可用try进行捕捉

urlib.parse模块:包含一些解析url的方法

urlib.robotparser模块:用来解析robots.txt文本文件

案例小小翻译器:

设计思路:

1.使用百度翻译向http://api.fanyi.baidu.com/api/trans/vip/translate此url地址通过post方法发送6大请求参数来访问此服务----并生成签名和签名计算

2.进行格式转换并拿到json格式的数据结果--将签名转成utf8和将百度翻译url用utf8解码并读取,用json格式打开百度翻译url

3.单击翻译事件:获取用户输入--并进行翻译

跟踪变量值变化,并随时更新值显示在界面上

4.清空事件

5.界面布局设计

from tkinter import *

from urllib import request

from urllib import parse

import json

import hashlib

import random

def translate_Word(en_str):

URL = ‘http://api.fanyi.baidu.com/api/trans/vip/translate‘

#en_str=input("请输入要翻译的内容:")

#创建Form_Data字典,存储向服务器发送的Data

#Form_Data={‘from‘:‘en‘,‘to‘:‘zh‘,‘query‘:en_str,‘transtype‘:‘hash‘}

Form_Data = {}

Form_Data[‘from‘] = ‘en‘

Form_Data[‘to‘] = ‘zh‘

Form_Data[‘q‘] = en_str                      #要翻译数据

Form_Data[‘transtype‘] = ‘hash‘

Form_Data[‘appid‘] = ‘20151113000005349‘     #申请的APP ID

Form_Data[‘salt‘] = str(random.randint(32768, 65536))   #随机数

Key="osubCEzlGjzvw8qdQc41"                              #平台分配的密钥

m=Form_Data[‘appid‘]+en_str+Form_Data[‘salt‘]+Key

m_MD5 = hashlib.md5(m.encode(‘utf8‘))

Form_Data[‘sign‘] = m_MD5.hexdigest()

data = parse.urlencode(Form_Data).encode(‘utf-8‘)    #使用urlencode方法转换标准格式

response = request.urlopen(URL,data)              #传递Request对象和转换完格式的数据

html = response.read().decode(‘utf-8‘)              #读取信息并解码

translate_results = json.loads(html)                #使用JSON

print(translate_results)                         #打印出JSON数据

translate_results = translate_results[‘trans_result‘][0][‘dst‘]    #找到翻译结果

print("翻译的结果是:%s" % translate_results)     #打印翻译信息

return  translate_results

def leftClick(event):         #翻译按钮事件函数

#print( "x轴坐标:", event.x)

#print( "y轴坐标:", event.y)

en_str=Entry1.get()                         #获取要翻译的内容

print(en_str)

vText=translate_Word(en_str)

#Entry2.config(Entry2,text=vText)            #修改提示标签文字

s.set("")

Entry2.insert(0,vText)

def leftClick2(event):         #清空按钮事件函数

s.set("")

#Entry2.config(Entry2,text=vText)            #修改提示标签文字

Entry2.insert(0,"")

if __name__ == "__main__":

root = Tk()

root.title("单词翻译器")

root[‘width‘]=250;root[‘height‘]=130

Label(root,text = ‘输入要翻译的内容:‘,width=15).place(x=1,y=1)    #绝对坐标(1,1)

Entry1=Entry(root,width=20)

Entry1.place(x=110,y=1)                                 #绝对坐标(110,1)

Label(root,text = ‘翻译的结果:‘,width=18).place(x=1,y=20)     #绝对坐标(1,20)

s=StringVar()                               #一个StringVar()对象

s.set("")

Entry2=Entry(root,width=20,textvariable=s)

Entry2.place(x=110,y=20)                   #绝对坐标(110,20)

Button1=Button(root,text = ‘翻译‘,width=8)

Button1.place(x=40,y=80)    #绝对坐标(40,80)

Button2=Button(root,text = ‘清空‘,width=8)

Button2.place(x=110,y=80)   #绝对坐标(110,80)

#给Label绑定鼠标监听事件

Button1.bind("<Button-1>",leftClick)                  #翻译按钮

Button2.bind("<Button-1>",leftClick2)                 #清空按钮

root.mainloop()

原文地址:https://www.cnblogs.com/dbslinux/p/11535965.html

时间: 2024-11-02 22:21:22

python调用百度api应用--小小翻译器的相关文章

python调用百度API

from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txapi/mvtp/meinv" #API req = requests.get(url) headers= {'apikey':'自己的apikey'} #自己的apikey params = {'num':'5'} #请求参数(urlParam) : r = requests.get(url,par

调用百度API进行文本纠错

毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Word中的在疑似错误下标浪线,或者标记高亮,并且要推荐修改选项 要求2:语料数据的获取.处理以及完善 要求3:文章写完后要有生成keyword 根据老师所讲要查阅文献,以及已有项目来分析可行性,首先想到之前曾有同学调用百度API来进行文档的纠错,然后在这里试了一下. API描述 识别输入文本中有错误的

C#调用百度API方法,POST和GET请求

        #region Get请求         /// <summary>           /// HTTP GET方式请求数据.           /// </summary>           /// <param name="url">URL.</param>           /// <returns>返回数据</returns>           private static st

Python调用微博API

上头叫通过微博ID获取用户发布过的历史微博内容,于是研究了下新浪微博提供的API 1 首先在微博开放中心下"创建应用"创建一个应用,应用信息那些随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret 2 在"微博开放平台"的"管理中心"找到刚才创建的应用,点开这个应用,点开左边"应用信息"栏,会看见"App key"和"App Secret"的字样,这两个

使用Python调用Flickr API抓取图片数据

Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据. 首先需要先去Flickr注册成为其开发者,创建应用,获得API_KEY和API_SECRET,其API网址在:https://www.flickr.com/services/api/ Flickr提供了多种开发工具进行使用.这里我们使用Python开发工具.官方推荐的开发工具是Beej’s Python

带头大哥777:Java调用百度API实现翻译

本设计参考了CSDN"京城第一歌姬"博客的设计思路,完成,本人在自己电脑上完全自己创建项目,自己敲代码完成,最后运行成功,我用的开发工具是Myeclipse10 ,JDK1.7 下运行,如图: 项目文件 下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见 点击打开链接 http://api.fanyi.baidu.com/api/trans/product/index 申请之后,会得到APP_ID和SECURIT

Python 调用百度翻译API

由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu api 整了一下,和大家分享. 1.百度翻译api 由于百度翻译api需要用到API key,所以,得注册百度开发者账号,然后创建开发者服务工程,得到的授权API key,具体操作可查看官方文档,请点 百度翻译api 2.代码实现  基本思路是:先将用户反馈抓下来,然后再处理html标签,再调用百度

利用Python实现百度API的调用

1.先要注册百度API成为开发者, 下面是开发者申请链接: http://api.fanyi.baidu.com/api/trans/product/index 为方便使用,百度翻译开放平台提供了详细的接入文档,链接如下: http://api.fanyi.baidu.com/api/trans/product/apidoc 在翻译文档中列出了详细的使用方法,以下是接入文档原文: 例:将apple从英文翻译成中文: 请求参数: q=apple from=en to=zh appid=201506

Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件

本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了改动,让它可以对不同人说话作区分,并且作了一些封装. 语音识别功能 weblfasr_python3_demo.py 文件: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 讯飞非实时转写调用demo(语音识别)