zoukankan      html  css  js  c++  java
  • Python——免费观看全网视频小程序

    说明,这个小程序是基于网站“全民解析”,调用该网站的接口,实现数据传输观看视频,若该网站凉凉,则此程序凉凉。

    开始之前的分析:

      

    进入全民解析网站,我们首先查看一下网页的html代码,发现该站观看视频的接口是传入一个视频的url链接,才可观看,所以在制作程序的时候,我们只需获取用户输入的链接,再调用python内置的requests模块,向此网页请求,即可实现程序,思路理清之后,开始动手:

    先导入requests模块,若提示报错,则直接Alt+Enter,install此包即可,

    我们先来调用get()方法输出一下网页的原代码查看,encoding设置编码为utf-8,因为网页内容有汉字出现(respond名字是自己随便取的,取respond只是为了方便阅读,是网页响应的结果)。

     

     应该是没有错误,接下来采用re模块,即正则表达式来获取每个选择框的value值,以截取链接的字符串,

     

    关于正则表达式,不懂的可以看看楼主之前的博客,或者百度了解,第一行代码是给出匹配的模式,(.*?)是万能匹配符,该行定义正则函数reg,第二行findall方法用第一行的正则函数去指定的文本中匹配,这里是整个网页的源代码respond.text,返回的是一个列表,我们将列表值分别取出(一共6个接口):

    接下来是导入GUI模块——import tkinter,创建界面,代码注释比较详细,不过多解释:

    界面如图:

    最后实现按钮的播放和清除方法,点击播放后,会自动打开浏览器并播放视频,所以此处需要webbrower模块,调用open方法,传入地址+用户输入的连接以跳转到播放视频的界面:

    所有代码:

    import requests
    import re
    import tkinter as tk  # GUI界面
    import webbrowser  # 打开网站
    
    url = 'http://www.qmaile.com/'
    respond = requests.get(url)
    respond.encoding = 'utf-8'
    reg = re.compile('<option value="(.*?)" selected="">')
    res = re.findall(reg, respond.text)
    one = res[0]
    two = res[1]
    three = res[2]
    four = res[3]
    five = res[4]
    six = res[5]
    
    root = tk.Tk()  # 启动窗口 TK类
    root.title('全网通用Vip视频播放             作者——Jery')
    root.geometry('500x300+600+250')  # 左边距与上边距
    l1 = tk.Label(root, text='请选择接口:', font=12)
    l1.grid(row=0, column=0)  # 控件网格布局
    var = tk.StringVar()  # 传参功能,value值传给variable
    r1 = tk.Radiobutton(root, text='接口1', variable=var, value=one)
    r1.grid(row=0, column=1)
    r2 = tk.Radiobutton(root, text='接口2', variable=var, value=two)
    r2.grid(row=1, column=1)
    r3 = tk.Radiobutton(root, text='接口3', variable=var, value=three)
    r3.grid(row=2, column=1)
    r4 = tk.Radiobutton(root, text='接口4', variable=var, value=four)
    r4.grid(row=3, column=1)
    r5 = tk.Radiobutton(root, text='接口5', variable=var, value=five)
    r5.grid(row=4, column=1)
    r6 = tk.Radiobutton(root, text='接口6', variable=var, value=six)
    r6.grid(row=5, column=1)
    
    l2 = tk.Label(root, text='播放链接:', font=12)
    l2.grid(row=6, column=0)
    
    e1 = tk.Entry(root, text='', width=50)
    e1.grid(row=6, column=1)
    
    
    def play():
        webbrowser.open(var.get() + e1.get())  # 总链接
    
    
    def clear():
        e1.delete(0, 'end')
    
    
    b1 = tk.Button(root, text='播放', font=12, width=8, command=play)
    b1.grid(row=7, column=1)
    b2 = tk.Button(root, text='清除', font=12, width=8, command=clear)
    b2.grid(row=8, column=1)
    root.mainloop()  # 循环显示

    最后看看效果:随便进入视频网站查看一个会员电影,复制链接:

    比较慢,我们换个接口线路:

    老铁没毛病!!!若是有兴趣,老铁你可以将此程序代码打包成exe可执行文件,因为python3以后不支持打包,所以可以去网上下载pyinstaller打包python3及以上版本。

  • 相关阅读:
    录制游戏视频——fraps
    ssh 带端口登录
    You have new mail in /var/spool/mail/root 烦不烦你?
    php生成xml的四种方法(转)
    liunx命令之whereis、which、find的区别和联系
    wancms从apache迁移至nginx
    面试题
    NP
    Careercup | Chapter 7
    OS | 哲学家问题
  • 原文地址:https://www.cnblogs.com/Jery-9527/p/10628943.html
Copyright © 2011-2022 走看看