如何基于Python制作有道翻译小工具


Posted in Python onDecember 16, 2019

这篇文章主要介绍了如何基于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()

以下是运行结果:

如何基于Python制作有道翻译小工具

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

Python 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
python开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
python中通过预先编译正则表达式提高效率
Sep 25 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
python输出pdf文档的实例
Feb 13 Python
Python中内建模块collections如何使用
May 27 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
python GUI计算器的实现
Oct 09 Python
Django restful framework生成API文档过程详解
Nov 12 Python
解决pytorch下出现multi-target not supported at的一种可能原因
Feb 06 Python
python blinker 信号库
May 04 Python
django框架单表操作之增删改实例分析
Dec 16 #Python
Python生成个性签名图片获取GUI过程解析
Dec 16 #Python
Python列表切片常用操作实例解析
Dec 16 #Python
python之pymysql模块简单应用示例代码
Dec 16 #Python
python装饰器使用实例详解
Dec 14 #Python
python函数不定长参数使用方法解析
Dec 14 #Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 #Python
You might like
PHP Pear 安装及使用
2009/03/19 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php权重计算方法代码分享
2014/01/09 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python Socket传输文件示例
2017/01/16 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python网络编程 Python套接字编程
2017/09/13 Python
关于Python数据结构中字典的心得
2017/12/04 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
Python远程linux执行命令实现
2020/11/11 Python
临床医学大学生求职信
2013/09/28 职场文书
询价采购方案
2014/06/09 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
自我检讨报告
2015/01/28 职场文书
幼师个人总结范文
2015/02/28 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
python中pymysql包操作数据库方法
2022/04/19 Python
Go语言编译原理之源码调试
2022/08/05 Golang