本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
一、前言
同学们在闱暇之余是否喜欢看电影呢?但是面对国内各大视频网站的会员是否很无奈?今天老师带领大家使用python制作能免费观着电影的桌面软件。
二、所用到得库
import re
import tkinter as tk
from urllib import parse
import tkinter.messagebox as msgbox
import webbrowser
三、(思路):
正则表达式
桌面编程库
url解析包
消息盒子
控制浏览器的包
1.通过面向对象的方式去实现代码
# 利用python代码实现软件
'''
通过面向对象的方式去实现代码
'''
class App:
# 重写构造函数
def __init__(self, width=500, height=300):
# 定义类属性
self.w = width
self.h = height
# 软件名称
self.title = '视频解析助手'
self.root = tk.Tk(className=self.title)
# 用户在解析视频时需要传入视频的链接地址,需要软件去接收
self.url = tk.StringVar()
# 声明解析通道默认选中的属性
self.v = tk.IntVar()
self.v.set(1)
# 软件空间划分
frame_1 = tk.Frame(self.root)
frame_2 = tk.Frame(self.root)
# 控件内容设置
group = tk.Label(frame_1, text='播放通道:', padx=10, pady=10)
tb = tk.Radiobutton(frame_1, text='唯一通道', variable=self.v, value=1, width=10, height=3)
label = tk.Label(frame_2, text='请输入视频播放地址:')
entry = tk.Entry(frame_2, textvariable=self.url, highlightcolor='Fuchsia', highlightthickness=1, width=35)
play = tk.Button(frame_2, text='播放', font=('楷体', 12), fg='Purple', width=2, height=1, command=self.video_play)
# 控件布局 首先去激活空间
frame_1.pack()
frame_2.pack()
# 控件的位置确定
group.grid(row=0, column=0)
tb.grid(row=0, column=1)
'''
软件控件位置确定时
软件空间互不干涉
'''
label.grid(row=0, column=0)
entry.grid(row=0, column=1)
play.grid(row=0, column=2, ipadx=10, ipady=10)
- 定义播放按钮功能
# 定义播放按钮功能
def video_play(self):
# 解析地址 第三方
port = 'http://www.wmxz.wang/video.php?url='
# 使用正则表达式去匹配用户所输入的信息是否合法
if re.match(r'https?:/{2}\w.+$', self.url.get()):
# 如果匹配成功 则拿到用户输入的地址
ip = self.url.get()
# 网址解析
ip = parse.quote_plus(ip)
# 使用浏览器打开网页并播放视频
webbrowser.open(port + ip)
else:
msgbox.showerror(title='错误', message='视频地址无效,请重新输入...')
3 软件启动函数
# 软件启动函数
def loop(self):
# 允许软件可以横向/纵向拖拽
self.root.resizable(True, True)
self.root.mainloop()
if __name__ == '__main__':
app = App()
app.loop()