欢迎访问我的主页
话不多说,上代码!
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()
方法1:将.py文件转化为.exe可执行文件命令:
pyinstaller -F X:\XXXX\XXXXX.py
但是这种方法运行的话会出现cmd的黑框框即控制台,和
gui窗口,如果想只显示gui窗口,请使用方法2
方法2:命令:
pyinstaller -w X:\XXXX\XXXXX.py
这种方法会使文件夹中资源变多,但是cmd那个烦人的黑
框框不会出现了 ,只有我们的gui窗口