重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下如何基于Python制作有道翻译小工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都创新互联-专业网站定制、快速模板网站建设、高性价比扬州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式扬州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖扬州地区。费用合理售后完善,十载实体公司更值得信赖。该工具主要是利用了爬虫,爬取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制作有道翻译小工具”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。