如何基于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中针对函数处理的特殊方法
Mar 06 Python
python自动化脚本安装指定版本python环境详解
Sep 14 Python
Python中协程用法代码详解
Feb 10 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
Jun 18 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
python多线程同步之文件读写控制
Feb 25 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
Python获取指定网段正在使用的IP
Dec 14 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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基于imap获取邮件实例
2014/11/11 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
高中军训感言500字
2014/02/24 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
球队口号
2014/06/18 职场文书
工商管理自荐书
2014/07/06 职场文书
幸福中国演讲稿
2014/09/12 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
初一语文教学反思
2016/03/03 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python