python制作翻译小软件_如何基于Python制作有道翻译小工具

这篇文章主要介绍了如何基于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()

以下是运行结果:

2c08f338cd683c9e083a079031851587.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值