如何基于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线程锁(thread)学习示例
Dec 04 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
python 调用HBase的简单实例
Dec 18 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python元组打包和解包过程详解
Aug 02 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
层叠菜单的动态生成
2006/10/09 PHP
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
浅谈Python黑帽子取代netcat
2018/02/10 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
python3排序的实例方法
2020/10/20 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
安全生产活动月方案
2014/03/09 职场文书
汽车促销活动方案
2014/03/31 职场文书
教师业务学习材料
2014/12/16 职场文书