如何基于Python制作有道翻譯小工具
這篇文章主要介紹了如何基于Python制作有道翻譯小工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
該工具主要是利用了爬蟲(chóng),爬取web有道翻譯的內(nèi)容. 然后利用簡(jiǎn)易GUI來(lái)可視化結(jié)果。
首先我們進(jìn)入有道詞典的首頁(yè),并點(diǎn)擊翻譯結(jié)果的審查元素
之后request響應(yīng)網(wǎng)頁(yè),并分析網(wǎng)頁(yè),定位到翻譯結(jié)果。
使用tkinter來(lái)制作一個(gè)建議的GUI
期間遇到的一個(gè)問(wèn)題則是如何刷新翻譯的結(jié)果,否則的話會(huì)在text里一直累加翻譯結(jié)果。
于是,在mainloop里面用到了T1.delete方法,來(lái)每次刪除TEXT里的內(nèi)容。
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='請(qǐng)輸入翻譯內(nèi)容:',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='請(qǐng)輸入要翻譯內(nèi)容') 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)#創(chuàng)建畫(huà)布 image_file = tk.PhotoImage(file="cat.gif")#加載圖片文件 image = canvas.create_image(0,0, anchor='nw', image=image_file)#將圖片置于畫(huà)布上 canvas.place(x=50,y=210)#放置畫(huà)布(為上端) window.mainloop()
以下是運(yùn)行結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能
- python 簡(jiǎn)單的調(diào)用有道翻譯
- python調(diào)用有道智云API實(shí)現(xiàn)文件批量翻譯
- 基于python爬取有道翻譯過(guò)程圖解
- Python 調(diào)用有道翻譯接口實(shí)現(xiàn)翻譯
- 用python3 urllib破解有道翻譯反爬蟲(chóng)機(jī)制詳解
- Python 20行簡(jiǎn)單實(shí)現(xiàn)有道在線翻譯的詳解
- 詳解Python3網(wǎng)絡(luò)爬蟲(chóng)(二):利用urllib.urlopen向有道翻譯發(fā)送數(shù)據(jù)獲得翻譯結(jié)果
- Python3.6實(shí)現(xiàn)帶有簡(jiǎn)單界面的有道翻譯小程序
- python 實(shí)現(xiàn)有道翻譯功能
相關(guān)文章
Python標(biāo)準(zhǔn)庫(kù)之?dāng)?shù)據(jù)庫(kù) sqlite3
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)的數(shù)據(jù)庫(kù) sqlite3的相關(guān)資料,SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù)。它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。下面文字將對(duì)其簡(jiǎn)單介紹,需要的小伙伴可以參考下面文章內(nèi)容2021-09-09實(shí)例分析python3實(shí)現(xiàn)并發(fā)訪問(wèn)水平切分表
在本文中小編給大家整理了關(guān)于python3實(shí)現(xiàn)并發(fā)訪問(wèn)水平切分表的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,有興趣的朋友們參考下。2018-09-09Python光學(xué)仿真wxpython透鏡演示系統(tǒng)框架
這篇文章主要為大家介紹了Python光學(xué)仿真UI界面的wxpython透鏡演示系統(tǒng)框架基本講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10用Python爬取英雄聯(lián)盟的皮膚詳細(xì)示例
大家好,本篇文章主要講的是用Python爬取英雄聯(lián)盟的皮膚詳細(xì)示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12python實(shí)現(xiàn)磁盤(pán)日志清理的示例
這篇文章主要介紹了python實(shí)現(xiàn)磁盤(pán)日志清理的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-1130道python自動(dòng)化測(cè)試面試題與答案匯總
對(duì)于機(jī)器學(xué)習(xí)算法工程師而言,Python是不可或缺的語(yǔ)言,它的優(yōu)美與簡(jiǎn)潔令人無(wú)法自拔,下面這篇文章主要給大家介紹了關(guān)于30道python自動(dòng)化測(cè)試面試題與答案匯總的相關(guān)資料,需要的朋友可以參考下2023-03-03