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

开始之前的分析:

  

进入全民解析网站,我们首先查看一下网页的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及以上版本。

Python——免费观看全网视频小程序的更多相关文章

  1. uni-app微信小程序开发之引入腾讯视频小程序播放插件

    登录微信小程序管理后台添加腾讯视频播放插件: 正式开始使用腾讯视频小程序插件之前需先在微信公众平台 -> 第三方设置 -> 插件管理处添加插件,如下图所示: 在uni-app中引入插件代码 ...

  2. 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)

    系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...

  3. 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇)

    系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 扫码体验,先睹为快 可以扫描下微信小程序的 ...

  4. python实现通过指定浏览器免费观看vip视频

    程序是先通过一个解析视频的网站,然后我们提取其接口,然后实现观看vip视频的目的 所以说免费观看视频python程序很容易,但是下载视频就有些许麻烦了,下载视频请见我另一篇博客:python+fidd ...

  5. 最新小程序教学视频,欢迎加小程序交流群免费获取(微信小程序开发(交流QQ群:604788754)

    本群会定期分享在工作中做的一些小程序页面,不懂之处也可以随时咨询,可以互相交流学习. 教学视频直接入群,在群公告中显示,优秀小程序代码在群文件中免费获取. 今日代码小程序首页欢迎页面,效果图如下.代码 ...

  6. 用 python 写一个年会抽奖小程序

    使用 pyinstaller 打包工具常用参数指南 pyinstaller -F demo.py 参数 含义 -F 指定打包后只生成一个exe格式的文件 -D –onedir 创建一个目录,包含exe ...

  7. python学习笔记(2)——练习小程序之 " input " 隐藏陷阱

    练习小程序之 ----------" input " 隐藏陷阱 age=input('please enter your age:') if age>=18: print(' ...

  8. 【Appium + Python + WebviewH5】之微信小程序自动化测试

    进行调试,打开X5: http://debugmm.qq.com/?forcex5=true http://debugx5.qq.com http://debugtbs.qq.com 一般前两个就可以 ...

  9. python3速查参考- python基础 1 -> python版本选择+第一个小程序

    题外话: Python版本:最新的3.6 安装注意点:勾选添加路径后自定义安装到硬盘的一级目录,例如本人的安装路径: F:\Python 原因:可以自动添加python环境变量,自动关联.py文件,其 ...

随机推荐

  1. Sql的行列转换

    创建表scores 一.传统的行列转换 纵表转横表 我们要转成的横表是这样子的: pivot是sql server 2005 提供的运算符,所以只要数据库在05版本以上的都可以使用.主要用于行和列的转 ...

  2. HDU 6201 transaction transaction transaction (树形DP)

    题意:给定一棵树,每个点有一个点权,每条边也是,找一条路径,问你 T-S-sum,T表示路径的终点的权值,S表示路径始点的权值,sum表示从S到T的边权和. 析:把这一条路径拆开来看,那么就是必然是从 ...

  3. HDU 6153 A Secret (KMP)

    题意:给定两个串,求其中一个串 s 的每个后缀在另一个串 t 中出现的次数. 析:首先先把两个串进行反转,这样后缀就成了前缀.然后求出 s 的失配函数,然后在 t 上跑一遍,如果发现不匹配了或者是已经 ...

  4. HDU 4352 XHXJ's LIS (数位DP+LIS+状态压缩)

    题意:给定一个区间,让你求在这个区间里的满足LIS为 k 的数的数量. 析:数位DP,dp[i][j][k] 由于 k 最多是10,所以考虑是用状态压缩,表示 前 i 位,长度为 j,状态为 k的数量 ...

  5. 浅析Java语言慢的原因

    Java在早期(比如JDK1.2以前)是很慢的,后续版本由于有许多优化手段的加入,Java正变得越来越快,所以现在也有很多关于Java和C/C++孰快孰慢的争论.我想就我自己的理解,谈一下影响Java ...

  6. VC++中GDI和GDI+ 的坐标系统介绍

    在Windows应用程序中,只要进行绘图,就要使用GDI坐标系统.Windows提供了几种映射方式,每一种映射都对应着一种坐标系.例如,绘制图形时,必须给出图形各个点在客户区的位置,其位置用x 和y两 ...

  7. linux mysql 权限

    原文地址:http://www.cnblogs.com/eczhou/archive/2012/07/12/2588187.html Linux下mysql新建账号及权限设置 1.权限赋予 说明:my ...

  8. java(二)认识类和函数

    java中,声明类使用new关键字 类名 类变量名 = new 类名(构造函数形参表): 静态函数内不能有非静态类,但是可以有非静态函数. package com.company; /** * Cre ...

  9. Django_Restframwork_APIVIEW视图_源码分析

    Django _VIEW视图_源码分析

  10. BOI2007 Mokia | cdq分治求二维点数模板

    题目链接:戳我 也没什么,其实主要就是为了存一个求二维坐标上矩形内点的个数的模板.为了之后咕咕咕地复习使用 不过需要注意的一点是,树状数组传x的时候可千万不要传0了!要不然会一直死循环的...qwqw ...