如何基于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 相关文章推荐
关于Django外键赋值问题详解
Aug 13 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
pandas带有重复索引操作方法
Jun 08 Python
python os.path模块常用方法实例详解
Sep 16 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 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 parse_url 一个好用的函数
2009/10/03 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php中socket通信机制实例详解
2015/01/03 PHP
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
浅谈Vue的响应式原理
2019/05/30 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python双链表原理与实现方法详解
2020/02/22 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
装饰活动策划方案
2014/02/11 职场文书
创建文明学校实施方案
2014/03/11 职场文书
农业生产宣传标语
2014/10/08 职场文书
道歉信怎么写
2015/05/12 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB