作者:爱你不愿放cwy | 来源:互联网 | 2023-10-12 10:15
importtkinterastk#使用Tkinter前需要先导入importtkinter.messagebox#要使用messagebox先要导入模块importreque
import tkinter as tk
import tkinter.messagebox
import requests
import random
window = tk.Tk()
window.title('知乎视频下载')
window.geometry('450x180')
counter = 0
def do_job():tkinter.messagebox.showinfo(title='帮助', message='获取视频链接方法\n1."鼠标右键->点击检查"或者"按键盘F12"。\n2."点击检查窗口左上角的鼠标"或者"Ctrl+Shift+C"进入选取模式\n3.点击视频,查看html标签“div class="_190hxbq"->src="链接"”\n把链接复制到输入框下载即可。')
def gx_sming():b1 ="知乎下载视频程序\n1.0版本->实现基本下载视频功能\n"b2 ="2.0->增加输入框清空按钮->窗口大小调整 ->增加帮助->增加目录\n"b3 ="3.0 解决文件重复读写的问题(随机函数生成后缀)\n"tkinter.messagebox.showinfo(title='版本更新说明', message=b1+b2+b3 )
menubar = tk.Menu(window)
filemenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='目录', menu=filemenu)
filemenu.add_command(label='使用方法', command=do_job)
filemenu.add_command(label='版本更新说明', command=gx_sming)filemenu.add_separator()
filemenu.add_command(label='退出程序', command=window.quit)
window.config(menu=menubar)
var = tk.StringVar()
l = tk.Label(window, textvariable=var, bg='#000000', fg='white', font=('微软雅黑', 12), width=30, height=2)
l.pack()
e2 = tk.Entry(window, show=None, width='35', font=('微软雅黑', 14))
e2.pack()
on_hit = False
def hit_me():global on_hitif on_hit == False:on_hit = Trueurl = e2.get() r = requests.get(url, stream=True)list=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]word=random.choice(list)number = random.randint(1,10)name1 = 'vdieo'name2 = '.mp4'vdieo = str(name1) + str(word) + str(number) + str(name2) with open(vdieo, "wb") as mp4:for chunk in r.iter_content(chunk_size=1024 * 1024):if chunk:mp4.write(chunk)var.set('下载成功')else:on_hit = Falsevar.set('链接都没有下nm呢?')
def hit_me2():global on_hitif on_hit == False:on_hit = True e2.delete(0, 'end')var.set('清空成功')else:on_hit = False
b = tk.Button(window, text='下载', font=('微软雅黑', 12), width=10, height=1, bg='#FFFFFF', command=hit_me)
b.pack()
q = tk.Button(window, text='清空', font=('微软雅黑', 12), width=10, height=1, bg='#FFFFFF', command=hit_me2)
q.pack()
window.mainloop()
get()方法获取Entry 文本框的内容:
txt = entry.get()
1.0 实现基本功能-》开始打包exe程序
下载PyInstaller打包库
#利用pip install PyInstaller 打包exe程序
pyinstaller D:\python_test.py
#当前文件目录 pyinstaller -F ann.py -w
在我们打包的时候:如果是直接指定python文件进行pyinstaller打包的话,如果没有指定路径,需要进入打包文件的目录下执行下面命令,否则还得加上文件路径才能打包。
方法一:pyinstaller -F mycode.py --noconsole
方法二:pyinstaller -F -w mycode.py (-w就是取消窗口)
当你重新打包一个文件后,就会发现只有图形界面了,没有黑色框框,亲测有效(提醒:如果没进入文件路径,打包的时候还需要指定文件路径哦)。
2.0 输入框清空-》窗口大小调整 -》帮助-》目录
e2.delete(0, ‘end’)
窗口调整
https://www.runoob.com/python/python-tkinter-entry.html
1.鼠标右键->点击检查或者按键盘F12。\n
2.点击检查窗口左上角的鼠标或者"Ctrl+Shift+C"进入选取模式\n
3.点击视频注意“div class="_190hxbq"->src=“链接””
3.0 解决文件重复读写的问题(随机函数生成后缀)
效果图: