python實現簡單翻譯軟體
阿新 • • 發佈:2018-11-19
python實現翻譯軟體效果如圖:
需要聯網才能進行翻譯
思路:
利用Requests模組獲取有道詞典web頁面的post資訊
提取json資料資訊
通過tkinter模組生成gui介面
原始碼如下:
from tkinter import * from tkinter import messagebox import requests # 接收使用者輸入的單詞 進行翻譯 def translation(): # 獲取使用者輸入的單詞 content=entry1.get() # 去空格 content=content.strip() if content=='': messagebox.showinfo("提示","請輸入要翻譯的內容") else: # 模擬傳送請求 url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" # 請求頭 header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"} data={} data['i']=content data['from']='AUTO' data['to'] = 'AUTO' data['smartresult'] = 'dict' data['client'] = 'fanyideskweb' # # 時間戳 # data['salt'] = 1538961219261 # # 簽名 加密 # data['sign'] = '0f98badcb537e9506a94f4c5e4c8cb90' data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom'] = 'fanyi.web' data['action'] = 'FY_BY_CLICKBUTTION' data['typoResult'] = 'false' # 傳送post請求 並用result接收返回資料 result=requests.post(url,data=data,headers=header) transl=result.json() translation=transl['translateResult'][0][0]['tgt'] res.set(translation) # 建立視窗 root=Tk() # 設定標題 root.title("中英互譯") # 視窗大小 root.geometry('350x93') # 視窗位置 root.geometry('+500+300') # 標籤控制元件 label1=Label(root,text='輸入要翻譯的文字:') # 定位 label1.grid(row=0,column=0) label2=Label(root,text='翻譯之後的結果:') label2.grid(row=1,column=0) # 輸入框控制元件 entry1=Entry(root,font=('微軟雅黑',15)) entry1.grid(row=0,column=1) # 顯示翻譯結果 res=StringVar() entry2=Entry(root,font=('微軟雅黑',15),textvariable=res) entry2.grid(row=1,column=1) # 按鈕控制元件 button1=Button(root,text='翻譯',width=10,command=translation) button1.grid(row=2,column=0,sticky=W) button2=Button(root,text='退出',width=10,command=root.quit) button2.grid(row=2,column=1,sticky=E) # 顯示視窗 訊息迴圈 root.mainloop()