python实训笔记(1)

python实训笔记(1)

  • 禁止非法盈利,限于学习使用
  • 思路:借助第三方接口帮助我们分析视频的url,调用本地浏览器打开视频
import tkinter,re,webbrowser
import tkinter.messagebox as msgbox

from urllib import parse

class APP:
    
    # 初始化GUI界面
    def __init__(self,width=500,height=300,title="全网VIP视频破解"):
        
        self.width = width
        self.height = height
        self.title = title
        
        # 创建窗口,设置标题
        self.root = tkinter.Tk(className=self.title)
        
        # 创建tkinter的字符变量
        # 通道选择保存
        self.v = tkinter.IntVar() # int
        self.v.set(1) # 赋值:1
        
        # 访问地址保存
        self.url = tkinter.StringVar() # str
        
        # 创建容器 Frame 有定位属性,可以把内部的控制按照排版定位
        frame_1 = tkinter.Frame(self.root)
        frame_2 = tkinter.Frame(self.root)
        
        # 创建控件
        # 边距:ipad 内部边距 pad 外部边距 默认:像素
        group = tkinter.Label(frame_1,text="暂时只有一个视频播放通道",padx=10,pady=10)
        # text 文本 variable 关联变量 value 默认值
        tb = tkinter.Radiobutton(frame_1,text="唯一通道",variable=self.v,value=1,width=10,height=3)
        
        label = tkinter.Label(frame_2,text="请输入视频链接")
        entry = tkinter.Entry(frame_2,textvariable=self.url,width=35)
        
        # font 字体
        # command 指令,可以捆绑一个函数响应
        play = tkinter.Button(frame_2,text="播放",font=("楷体",12),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):
        # 第三方视频的接口
        path = "http://www.wmxz.wang/video.php?url="
        # re.match()匹配正则,是否满足条件
        if re.match(r"https?:/{2}\w.+$",self.url.get()):
            # 路径加密:把中文、特殊字符转化成二进制
            ip = parse.quote_plus(self.url.get())
            # 调用本地浏览器
            webbrowser.open(url=path+ip)
        else:   
            msgbox.showerror(title="错误",message="视频地址无效,请重新输入")

    # 启动类
    def run(self):
        # 设置窗口的大小
        self.root.geometry(str(self.width)+"x"+str(self.height))
        # 允许用户控制窗口的大小
        self.root.resizable(width=True,height=True)
        # 启动窗口
        self.root.mainloop()

app = APP()
app.run()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q J X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值