校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python爬蟲+Tkinter制作一個翻譯軟件的示例

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

熱門標簽:千呼ai電話機器人免費 柳州正規(guī)電銷機器人收費 騰訊地圖標注有什么版本 外呼系統(tǒng)前面有錄音播放嗎 深圳網(wǎng)絡外呼系統(tǒng)代理商 400電話辦理費用收費 鎮(zhèn)江人工外呼系統(tǒng)供應商 高德地圖標注字母 申請辦個400電話號碼

今天咱們用Python爬蟲和Tkinter界面來做一個翻譯軟件。

一、運行效果

軟件實現(xiàn)功能:當我們輸入英文或中文時,程序即可打印出來對應的譯文,如圖:

二、實現(xiàn)方法

1. 爬蟲部分

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

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

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

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

  1. 必須是json格式字符串,必須用雙引號,k-v之家必須有逗號,布爾值必須是小寫的true/false
  2. 不能有中文,直接傳字符串不會自動編碼

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

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

url='http://fanyi.youdao.com/translate?smartresult=dictsmartresult=rule'
#使用post需要一個鏈接
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需要輸入兩個參數(shù),一個是剛才的鏈接,一個是data,返回的是一個Response對象
answer=json.loads(r.text)
#你可以自己嘗試print一下r.text的內(nèi)容,然后再閱讀下面的代碼。
result = answer['translateResult'][0][0]['tgt']
return result

2.Tkinter部分

Tkinter是Python的標準GUI庫。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應用程序。

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

代碼如下:

self.window = Tk()
self.fanyi = YouDaoFanyi()
self.window.title(u'翻譯器')
#設置窗口大小和位置
self.window.geometry('310x370+500+300')
self.window.minsize(310,370)
self.window.maxsize(310,370)
#創(chuàng)建一個文本框
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)建一個按鈕
#為按鈕添加事件
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)
#翻譯結果標題
self.title_label = Label(self.window,text=u'翻譯結果:')
self.title_label.place(x=10,y=165)
#翻譯結果
self.result_text = Text(self.window,background = 'light cyan')
self.result_text.place(x = 10,y = 190,width = 285,height = 165)

來看看效果圖:

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

三、打包

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

首先安裝PyInstaller第三方庫。

pip install Pylnstaller

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

pyinstaller -F -w xxx.py

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

四、代碼獲取

https://github.com/bigtigeryo/yingyihan

以上就是Python爬蟲+Tkinter制作一個翻譯軟件的示例的詳細內(nèi)容,更多關于python 制作翻譯軟件的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python生成個性簽名圖片獲取GUI過程解析
  • python3.6 +tkinter GUI編程 實現(xiàn)界面化的文本處理工具(推薦)
  • python3使用tkinter實現(xiàn)ui界面簡單實例
  • Python GUI Tkinter簡單實現(xiàn)個性簽名設計
  • Python庫學習Tkinter制作GUI個性簽名設計軟件

標簽:哈爾濱 平頂山 合肥 郴州 烏蘭察布 大慶 烏蘭察布 海南

巨人網(wǎng)絡通訊聲明:本文標題《Python爬蟲+Tkinter制作一個翻譯軟件的示例》,本文關鍵詞  Python,爬蟲,+Tkinter,制作,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python爬蟲+Tkinter制作一個翻譯軟件的示例》相關的同類信息!
  • 本頁收集關于Python爬蟲+Tkinter制作一個翻譯軟件的示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 南靖县| 龙川县| 金平| 景宁| 桃园市| 新丰县| 遂昌县| 青冈县| 怀仁县| 内黄县| 灵川县| 岳阳县| 平乡县| 垫江县| 长岛县| 隆化县| 荔浦县| 壶关县| 太康县| 富阳市| 丹棱县| 台安县| 海宁市| 阿拉善右旗| 通辽市| 宜兰县| 邯郸市| 城市| 平凉市| 斗六市| 乌什县| 睢宁县| 北宁市| 都匀市| 将乐县| 镇坪县| 义乌市| 郴州市| 东兰县| 凯里市| 岚皋县|