利用python tkinter制作一个属于自己的有道翻译工具

欢迎访问我的主页

利用python tkinter制作一个属于自己的有道翻译工具

效果如下:
在这里插入图片描述

一、利用爬虫技术对有道翻译网页进行数据的爬取,并设计可视化界面

话不多说,上代码!

from tkinter import *
import requests
import re
import os

#对有道翻译网页进行数据的爬取
def youdao(word):
    url = 'http://fanyi.youdao.com/translate'
    headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36sudaref: graph.qq.com'
    }
    from_data = {
    'i':word,'from':'AUTO','to':'AUTO', 'smartresult':'dict','client':'fanyideskweb',
    'salt':'15733461894901','sign':'aa2725838211ad7023bfccb01d4bfce8',
    'ts:':'1573346189490','bv':'d6c3cd962e29b66abe48fcb8f4dd7f7d','doctype':'json',
    'version':'2.1','keyfrom':'fanyi.web','action':'FY_BY_REALTlME'
    }
    response = requests.post(url=url,data=from_data,headers=headers)
    str_data = response.content.decode('utf-8')   #得到字符串数据
    dict_data = re.findall('{.*?"src":".*?","tgt":"(.*?)"}',str_data,)    #对得到的字符串进行解析,得到想要的翻译内容
    return dict_data[0]

def run1():
    a = str(inp1.get())
    s = youdao(a)
    txt.delete(0.0, END) #在翻译之前将输出文本框中的内容进行删除,以便不干扰新的查询结果的查看 
    txt.insert(END, s)   #将翻译的结果进行展示
    
#创建一个窗口,并设计可视化界面
root = Tk()
root.geometry('400x190')
root.title('有道翻译')

#输入框
inp1 = Entry(root,font=('华文新魏',11))
inp1.place(relx=0.03,rely=0.03, relwidth=0.79, relheight=0.3)

# ‘翻译’按钮,直接调用 run1()
btn1 = Button(root,font=('华文新魏',11), text='翻译',background='#CA0316',foreground='white',activebackground='red',activeforeground='white', command=run1)
btn1.place(relx=0.82, rely=0.03, relwidth=0.15, relheight=0.3)

# 输出文本框
txt = Text(root,font=('华文新魏',11))
txt.place(relx=0.03,rely=0.357, relwidth=0.938,relheight=0.5,)

root.mainloop()
二、将.py文件转化为.exe文件
方法1:将.py文件转化为.exe可执行文件命令:
          pyinstaller -F X:\XXXX\XXXXX.py
      但是这种方法运行的话会出现cmd的黑框框即控制台,和
      gui窗口,如果想只显示gui窗口,请使用方法2
方法2:命令:
          pyinstaller -w X:\XXXX\XXXXX.py
      这种方法会使文件夹中资源变多,但是cmd那个烦人的黑
      框框不会出现了 ,只有我们的gui窗口

欢迎访问我的主页

不要白嫖,加个关注,点个赞再走吧!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45104240/article/details/105242191