项目实战 Python全网观影 免会员,VIP大片免费看

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/suoyue_py/article/details/100067603

Python教你如何打开正确的观影姿势

看片还要用VIP,不想开通会员,怎么办???
在这里插入图片描述
用Python敲个影片破解版的小项目,从此看片再也不用买会员了>_<
在这里插入图片描述
由于用到的知识点比较多,涉及到知识点提供见解,相关的知识点提供学习链接
导入需要的库:

import tkinter as tk        #导入Python的标准GUI库:做图形用户界面的
import tkinter.messagebox as msgbox     #导入对话框模块:当程序运行错误时,将错误以弹窗的形式告诉用户
import re           #正则表达式 判断用户输入的网址是否有误
from urllib import parse        #url 编码包
import webbrowser           #控制浏览器的包 当用户点击了播放的时候 会调用webbrower 自动的去启动浏览器

用Python的标准GUI库:tkinter来做程序的界面展示;
用tkinter的三大对话框模块之一的messagebox来做弹窗错误提示;
用re库(正则表达式)来匹配相应搜索网址;
用urllib 库设置网页HTTP 请求;
用webbrowser库来跳转启动浏览器。

1.使用tkinter来制作的用户界面效果图:

在这里插入图片描述

def __init__(self, width=500, height=300):      #重载,定义宽/高
	self.w = width
	self.h = height

	self.title = '最牛B的视频助手'         #设置标题
	self.root = tk.Tk(className=self.title)     #软件名
	self.url = tk.StringVar()        #vip视频播放地址 字符串类型
	self.v = tk.IntVar()        #定义播放源 整形类型
	self.v.set(1)        #默认选择第一个 set 设置
	
	'''定义软件布局以及空间(Frame控件)'''
	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)        #command绑定函数
	
	#控件布局
	frame_1.pack()
	frame_2.pack()
	
	#确定控件在软件中的位置 行:row 列:column 
	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=3, ipadx=10, ipady=10)
2.使用正则表达式来解析视频网址:
port = 'http://www.wmxz.wang/video.php?url='     #视频解析网站地址
if re.match(r'^https?:/{2}\w.+$', self.url.get())     #做判断,防止用户输入非法域名

正则表达式(regular expression)就是一种字符串的匹配模式(pattern)
正则表达式的元字符匹配一览表
在这里插入图片描述
涉及到的字符集简写匹配:\w
在这里插入图片描述
推荐GitHub上开源的一份正则表达式教程:https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md

3.使用messagebox来做链接网址有误时弹出提示窗口:
msgbox.showerror(title='错误', message='视频连接地址无效, 请重新输入!')

效果图:
在这里插入图片描述

4.使用urllib的request和parse模块获取视频IP
ip = self.url.get()            #拿到用户输入的视频地址
ip = parse.quote_plus(ip)            #视频播放地址编码

通过get方式发送http请求拿到用户输入的视频地址
Python文档查询quote_plus()的使用:
在这里插入图片描述
Urllib 库:Python 内置的 HTTP 请求库,包含四个模块
在这里插入图片描述

5. 使用webbrowser(一个 .NET 控件类)来自动打开浏览器
webbrowser.open(port + ip)            #自动打开浏览器

语法:webbrowser.open(url, new=0, autoraise=True)
在系统的默认浏览器中访问url地址,
若new=0,url会在同一个浏览器窗口中打开;
若new=1,新的浏览器窗口会被打开;
new=2新的浏览器tab会被打开。

补充说明:博文发布之后有“小盆友”说不理解程序的原理,对此,在这说明一下。
原理:全民解析,说白了就是“盗链”,通俗易懂的说就是类枪版,其实这个程序的代码大多是tkinter的图像用户界面,核心代码不多,主要是用来在盗链网站上进行搜索处理。

适时更新请关注微信公众“百里锁钥”,公众号后台回复“VIP”获取程序源码和打包后的可执行文件,外一个VIP观影免会员的线上链接

猜你喜欢

转载自blog.csdn.net/suoyue_py/article/details/100067603