如何基于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项目发布为exe可执行程序过程分享
Oct 23 Python
总结Python中逻辑运算符的使用
May 13 Python
Python中Continue语句的用法的举例详解
May 14 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
django迁移数据库错误问题解决
Jul 29 Python
Python 使用多属性来进行排序
Sep 01 Python
Python Json数据文件操作原理解析
May 09 Python
python爬虫如何解决图片验证码
Feb 14 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
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
python中的二维列表实例详解
2018/06/19 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
python global关键字的用法详解
2019/09/05 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python selenium的基本使用方法分析
2019/12/21 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
介绍一下MD5加密算法
2016/11/12 面试题
软件测试面试题
2015/10/21 面试题
《猫》教学反思
2014/02/26 职场文书
自荐信的格式
2014/03/10 职场文书
党员入党表决心的话
2014/03/11 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python