如何基于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 + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
介绍Python中几个常用的类方法
Apr 08 Python
简单理解Python中基于生成器的状态机
Apr 13 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Python编程中类与类的关系详解
Aug 08 Python
pytorch制作自己的LMDB数据操作示例
Dec 18 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
python制作图形界面的2048游戏, 基于tkinter
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
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
jQuery实现摸拟alert提示框
2016/05/22 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
JS常见算法详解
2017/02/28 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
js简易版购物车功能
2017/06/17 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
Python画图学习入门教程
2016/07/01 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
科室工作的个人自我评价
2013/10/30 职场文书
电台实习生求职信
2014/02/25 职场文书
公司委托书范本
2014/04/04 职场文书
土建技术员岗位职责
2015/04/11 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
2015中秋祝酒词
2015/08/12 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
我的收音机情缘
2022/04/05 无线电