国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例

瀏覽:3日期:2022-06-27 14:13:33

今天咱們用Python爬蟲和Tkinter界面來(lái)做一個(gè)翻譯軟件。

一、運(yùn)行效果

軟件實(shí)現(xiàn)功能:當(dāng)我們輸入英文或中文時(shí),程序即可打印出來(lái)對(duì)應(yīng)的譯文,如圖:

Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例

二、實(shí)現(xiàn)方法1. 爬蟲部分

實(shí)現(xiàn)一鍵翻譯最簡(jiǎn)單的方式就是爬蟲,我們只需將要翻譯的內(nèi)容傳入,然后將翻譯的結(jié)果爬取下來(lái)呈現(xiàn)給用戶即可。在本文中,我們選擇的網(wǎng)站是有道翻譯。

下圖這個(gè)界面,你在左邊輸入文字,那么瀏覽器會(huì)把你輸入的信息傳輸給服務(wù)器。再在右側(cè)返回對(duì)應(yīng)翻譯結(jié)果。這就是一個(gè)典型的Post操作。

Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例

由于之前我們的爬取都是采用的Get方式來(lái)獲取數(shù)據(jù)的,并沒有用過(guò)Post方式,所以這里簡(jiǎn)單給大家說(shuō)一下怎么用python發(fā)送Post請(qǐng)求:

發(fā)送post請(qǐng)求分為表單類(x-www-form-urlencoded)和json(application/json)格式,data參數(shù)支持字典格式和字符串格式,建議使用字典格式,在使用json.dumps()方法把data轉(zhuǎn)換為合法的json格式字符串,或者將data參數(shù)賦值給post方法的json參數(shù),data以字符串格式傳輸需要注意的事項(xiàng):

必須是json格式字符串,必須用雙引號(hào),k-v之家必須有逗號(hào),布爾值必須是小寫的true/false 不能有中文,直接傳字符串不會(huì)自動(dòng)編碼

我們還是按F12打開開發(fā)者模式,發(fā)現(xiàn)傳入的數(shù)據(jù)并沒有在原網(wǎng)頁(yè)中出現(xiàn),所以判斷這是一個(gè)使用異步刷新的網(wǎng)站,所以該URL,應(yīng)該去XHR中尋找,在XHR中發(fā)現(xiàn)了我們傳入的數(shù)據(jù),如圖:

Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例

一切準(zhǔn)備就緒了,可以開始書寫代碼了,爬蟲部分代碼如下:

url=’http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule’#使用post需要一個(gè)鏈接data={’i’: word, ’from’: ’AUTO’, ’to’: ’AUTO’, ’smartresult’: ’dict’, ’client’: ’fanyideskweb’, ’doctype’: ’json’, ’version’: ’2.1’, ’keyfrom’: ’fanyi.web’, ’action’: ’FY_BY_REALTIME’, ’typoResult’: ’false’}#將需要post的內(nèi)容,以字典的形式記錄在data內(nèi)。r = requests.post(url, data)#post需要輸入兩個(gè)參數(shù),一個(gè)是剛才的鏈接,一個(gè)是data,返回的是一個(gè)Response對(duì)象answer=json.loads(r.text)#你可以自己嘗試print一下r.text的內(nèi)容,然后再閱讀下面的代碼。result = answer[’translateResult’][0][0][’tgt’]return result2.Tkinter部分

Tkinter是Python的標(biāo)準(zhǔn)GUI庫(kù)。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。

由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫(kù)、而且 IDLE 也是用 Tkinter 編寫而成、對(duì)于簡(jiǎn)單的圖形界面 Tkinter 能應(yīng)付自如。

代碼如下:

self.window = Tk()self.fanyi = YouDaoFanyi()self.window.title(u’翻譯器’)#設(shè)置窗口大小和位置self.window.geometry(’310x370+500+300’)self.window.minsize(310,370)self.window.maxsize(310,370)#創(chuàng)建一個(gè)文本框self.result_text1 = Text(self.window,background = ’azure’)self.result_text1.place(x = 10,y = 5,width = 285,height = 155)self.result_text1.bind('<Key-Return>',self.submit1)#創(chuàng)建一個(gè)按鈕#為按鈕添加事件self.submit_btn = Button(self.window,text=u’翻譯’,command=self.submit)self.submit_btn.place(x=205,y=165,width=35,height=25)self.submit_btn2 = Button(self.window,text=u’清空’,command = self.clean)self.submit_btn2.place(x=250,y=165,width=35,height=25)#翻譯結(jié)果標(biāo)題self.title_label = Label(self.window,text=u’翻譯結(jié)果:’)self.title_label.place(x=10,y=165)#翻譯結(jié)果self.result_text = Text(self.window,background = ’light cyan’)self.result_text.place(x = 10,y = 190,width = 285,height = 165)

來(lái)看看效果圖:

Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例

雖然有一些單調(diào),但是能做到這樣還是很不錯(cuò)的。

三、打包

做好程序后,可以將其打包,這樣以后不管電腦上有沒有python環(huán)境,我們都可以使用這個(gè)軟件來(lái)進(jìn)行翻譯,下面來(lái)教大家一個(gè)簡(jiǎn)單的python打包方法。

首先安裝PyInstaller第三方庫(kù)。

pip install Pylnstaller

然后使用cmd,切換到需要打包的python程序的存儲(chǔ)目錄,然后輸入該語(yǔ)句即可完成打包。

pyinstaller -F -w xxx.py

以上就是本文的全部?jī)?nèi)容了,希望能夠?qū)Υ蠹业膶W(xué)習(xí)起到一定的幫助作用!

四、代碼獲取

https://github.com/bigtigeryo/yingyihan

以上就是Python爬蟲+Tkinter制作一個(gè)翻譯軟件的示例的詳細(xì)內(nèi)容,更多關(guān)于python 制作翻譯軟件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 免费一级美国片在线观看 | 国产成人免费a在线资源 | 制服诱惑中文字幕 | 国产第九页 | 国产精品日本一区二区在线播放 | 国内精品伊人久久久久妇 | 日本天堂网址 | 色综合久久88色综合天天 | 精品久久久久久中文字幕一区 | 成人精品第一区二区三区 | 日本一级~片免费永久 | 女人张开腿给人桶免费视频 | 国产午夜亚洲精品理论片不卡 | 亚洲午夜一区二区三区 | 久色乳综合思思在线视频 | 久久久久综合 | 国内自拍第五一页 | 国产成人禁片免费观看视频 | 久久久国产乱子伦精品 | 国产精品日韩欧美一区二区三区 | 国产精品手机在线播放 | 成年女人永久免费观看片 | 成人国产在线看不卡 | 日韩在线观看一区 | 国产视频高清在线 | 夜色爽爽| 久久中文字幕亚洲精品最新 | 久久精品视频在线播放 | 一级aaa毛片 | 国产精品视频免费 | 精品在线观看一区 | a级淫片 | 2022年国产精品久久久久 | 99久久成人 | 波多野结衣一区二区三区高清在线 | 99久久精品国产国产毛片 | 国产三级视频在线 | 波多野结衣视频免费在线观看 | 国产精选在线播放 | 欧美2区 | 波多野结衣被强在线视频 |