基于Python的视频解析器

# 正则表达式
import re
# 桌面软件
import tkinter as tk
# url解析包
from urllib import parse
# 消息盒子包 弹出错误信息
import tkinter.messagebox as msgbox
# 控制浏览器的包
import webbrowser

class App:
    # 1.重写构造方法
    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='视频链接地址无效, 请重新输入....')


    # 启动软件的函数
    def loop(self):
        self.root.resizable(True, True)
        self.root.mainloop()


if __name__ == "__main__":
    app = App()
    app.loop()

你可能感兴趣的:(Python)