如何基于Python制作有道翻译小工具
作者:Leslie_Chan 发布时间:2023-10-01 21:00:58
标签:Python,有道,翻译
这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果。
首先我们进入有道词典的首页,并点击翻译结果的审查元素
之后request响应网页,并分析网页,定位到翻译结果。
使用tkinter来制作一个建议的GUI
期间遇到的一个问题则是如何刷新翻译的结果,否则的话会在text里一直累加翻译结果。
于是,在mainloop里面用到了T1.delete方法,来每次删除TEXT里的内容。
import urllib.request
import urllib.parse
import json
import tkinter as tk
from tkinter import *
from tkinter import messagebox
window = tk.Tk()
window.geometry('600x400+200+200')
window.title("有道词典翻译")
L1=tk.Label(window,text='请输入翻译内容:',font=('楷体',20),fg='blue')
L1.place(x=30)
E1=tk.Entry(window,text="",font=('宋体',16),width=30)
E1.place(x=80,y=50)
def transit():
T1.delete(1.0, tk.END)
var = E1.get()
if var == '':
messagebox.showinfo('提示', message='请输入要翻译内容')
else:
data = {
'i': var,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15619904887064',
'sign': 'a14ab29954353efd9d6aa92ebd94aa62',
'ts': '1561990488706',
'bv': '3a019e7d0dda4bcd253903675f2209a5',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION'
}
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')
#print(html)
target=json.loads(html)
#print(target)
#a=target['translateResult'][0][0]
#print(a)
b=target['translateResult'][0][0]['tgt']
#print(b)
T1.insert('end', b)
T1=tk.Text(window,height=4)
T1.place(x=20,y=130)
B1=tk.Button(window,text='TransLate it',width=10,height=3,fg='red',command=transit)
B1.place(x=500,y=30)
canvas = tk.Canvas(window, height=160, width=500)#创建画布
image_file = tk.PhotoImage(file="cat.gif")#加载图片文件
image = canvas.create_image(0,0, anchor='nw', image=image_file)#将图片置于画布上
canvas.place(x=50,y=210)#放置画布(为上端)
window.mainloop()
以下是运行结果:
来源:https://www.cnblogs.com/lesliechan/p/11704550.html
0
投稿
猜你喜欢
- PHP 中的 Interface 是一种非常重要的特性,它允许开发人员定义一组规范或者约束,以确保类之间的互操作性和兼容性。在本文中,我们将
- 一个非常简单的将半角"转换为中文"的asp函数function new_str(str) 
- 在使用Dreamweaver制作主页的时候往往需要改变表格的高度。然而有时当我们拖动表格的边框,无论怎样拖动,等到放下鼠标,表格却又恢复到原
- XML 是严格又自由的标记语言。我们都习惯于它的自由特性,自己想怎么定义都行,设计上非常自由,从不会因为它的标记特性约束到设计灵感的发挥。对
- php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一
- 看了下传统的方法,觉得不好,太麻烦。自己重写了个,思路比较新。这个函数的优点是html代码可以很简洁,使用图片也可以很少,只需要两张图片。事
- ajax缓存和编码问题不难解决,下面是解决方法。编码问题默认使用UTF-8,如果一旦发现对象找不到的情况,可能js中输入了中文,同时js的编
- 远程(如通过互联网)连接access数据库的示例:首先,需要使用TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)
- 要将身份证的正反面图片合并为一张图片,你可以使用PHP的GD库来完成。演示了如何合并两张图片下面是一个示例代码,演示了如何合并两张图片://
- 计算分页,嘿嘿一次搞定不用判断intNumPage = Abs(Int(-(intNumRecord/intPerPage)))  
- 数据库复制:简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改。复制的模式有两种:推送模式和请求
- 由Oralce8.1开始,Oracle增加了一个新的特性就是Stored Outlines,或者称为Plan Stability(计划稳定性
- 阅读上一篇:微软建议的ASP性能优化28条守则(3) 技巧 8:迟一点获得资源,早一点释放资源 这里是一个小技巧供您参考。一般来说,最好迟一
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified
- 前言opencv中封装了一个专门用于求解cv::Mat均值的函数,即cv::mean(&cv::Mat),该函数会得到Mat中各个通
- 本文实例讲述了Python计时相关操作。分享给大家供大家参考,具体如下:内容目录:1. 时间戳2. 当前时间3. 时间差4. python中
- 在网上我们常常看见一些注册表单的输入框部分并不是我们常见的矩形框,而是一条细线,很多朋友对此很感兴趣。其实要实现这样的效果并不困难,我们只要
- 初学python,对python的对齐很重视,为了防止出错,使用spyder工具提供的功能下面是方法:1、首先打开Tools菜单栏下的Pre
- 本教程中将详细阐述传统的图形设计元素是如何应用在现代(2.0时代)的页面设计中的,然后我将解释为什么它们能流行开来,以及如何、何时、在哪里使
- 本文实例讲述了JS实现淡入淡出图片效果的方法。分享给大家供大家参考,具体如下:效果:鼠标移入时,图片由半透明逐渐变成清晰,移出时,由清晰变为