您好,登錄后才能下訂單哦!
小編給大家分享一下如何基于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制作有道翻譯小工具”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。