如何基于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 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
对Python3中的input函数详解
Apr 22 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
在python里创建一个任务(Task)实例
Apr 25 Python
python 删除excel表格重复行,数据预处理操作
Jul 06 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
python中uuid模块实例浅析
Dec 29 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
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
node.js超时timeout详解
2014/11/26 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
TensorFlow实现创建分类器
2018/02/06 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python异常处理和日志处理方式
2019/12/24 Python
python如何爬取网页中的文字
2020/07/28 Python
测试时代收集的软件测试面试题
2013/09/25 面试题
医学院学生的自我评价分享
2013/11/19 职场文书
中年人生感言
2014/02/04 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
转让协议书范本
2014/09/13 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
投资入股合作协议书
2014/10/28 职场文书
刑事和解协议书范本
2014/11/19 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
六年级数学教学反思
2016/02/16 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
Vue h函数的使用详解
2022/02/18 Vue.js
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python