如何基于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 相关文章推荐
Python生成器(Generator)详解
Apr 13 Python
python抓取百度首页的方法
May 19 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
Python 实现数据结构中的的栈队列
May 16 Python
python增加图像对比度的方法
Jul 12 Python
解决Django加载静态资源失败的问题
Jul 28 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
如何通过Django使用本地css/js文件
Jan 20 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
python 如何调用远程接口
Sep 11 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
python中_del_还原数据的方法
Dec 09 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漏洞小结
2012/02/05 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php实现等比例压缩图片
2018/07/26 PHP
jQuery对象[0]是什么含义?
2010/07/31 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
python实现爬虫下载美女图片
2015/07/14 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
详解python实现线程安全的单例模式
2018/03/05 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
傲盾软件面试题
2015/08/17 面试题
迟到检讨书1000字
2014/01/15 职场文书
生产部岗位职责范文
2014/02/07 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
好的旅游活动方案
2014/08/19 职场文书
整改报告格式
2014/11/06 职场文书
会计岗位工作总结
2015/08/12 职场文书