Python制作有道翻译小工具,有道翻译,该工具主要是利用了爬


该工具主要是利用了爬虫,爬取web有道翻译的内容.然后利用简易GUI来可视化结果。

首先我们进入有道词典的首页,并点击翻译结果的审查元素

之后request响应网页,并分析网页,定位到翻译结果。

使用tkinter来制作一个建议的GUI

期间遇到的一个问题则是如何刷新翻译的结果,否则的话会在text里一直累加翻译结果。

于是,在mainloop里面用到了T1.delete方法,来每次删除TEXT里的内容。

import urllib.requestimport  urllib.parseimport jsonimport tkinter as tkfrom tkinter import *from tkinter import messageboxwindow = 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制作有道翻译小工具

评论关闭