如何基于Python制作有道翻译小工具
这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
该工具主要是利用了爬虫,爬取web有道翻译的内容.然后利用简易GUI来可视化结果。
首先我们进入有道词典的首页,并点击翻译结果的审查元素
之后request响应网页,并分析网页,定位到翻译结果。
使用tkinter来制作一个建议的GUI
期间遇到的一个问题则是如何刷新翻译的结果,否则的话会在text里一直累加翻译结果。
于是,在mainloop里面用到了T1.delete方法,来每次删除TEXT里的内容。
importurllib.request
importurllib.parse
importjson
importtkinterastk
fromtkinterimport*
fromtkinterimportmessagebox
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)
deftransit():
T1.delete(1.0,tk.END)
var=E1.get()
ifvar=='':
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='TransLateit',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()
以下是运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。