39,359
社区成员




import os
import re
import tkinter
import tkinter as tk
import tkinter.messagebox as msgbox
import webbrowser
from urllib import parse
import json
import requests
"""
类说明:爱奇艺,优酷
Parameters:
width - tkinter主界面宽
height - tkinter主页面高
"""
class APP:
def __init__(self,width =500,height = 250):
self.w=width
self.h=height
self.title='VIP视频破解系统'
self.root=tkinter.Tk(className=self.title)
self.url=tk.StringVar()
self.v=tk.IntVar()
self.v.set(1)
#Frame空间
frame_1=tk.Frame(self.root)
frame_2=tk.Frame(self.root)
frame_3=tk.Frame(self.root)
#menu菜单
menu=tk.Menu(self.root)
self.root.config(menu = menu)
filemenu=tk.Menu(menu,tearoff=0)
moviemeun=tk.Menu(menu,tearoff = 0)
#软件内容设置
group=tk.Label(frame_1,text = '播放通道选择:', padx = 10, pady = 10)
tb1 = tk.Radiobutton(frame_1,text = '网通',variable=
self.v,value=1,width=10,height=3)
tb2 = tk.Radiobutton(frame_1,text = '电信',variable= self.v,value=2,width=10,height=3)
label1=tk.Label(frame_2,text = "查看的电影链接:")
entry=tk.Entry(frame_2,textvariable = self.url,highlightcolor = 'Fuchsia',highlightthickness=1,width=35)
label2=tk.Label(frame_2 ,text="")
play=tk.Button(frame_2,text="电脑端播放",font=('黑体',12),fg='Purple',width=8,height=1 ,command=self.video_play )
label3=tk.Label(frame_2,text='')
# download = tk.Button(frame_2,text='下载',font=('楷体',12),fg='Purple',width=2,height=1,command=self.download)
QR_Code=tk.Button(frame_3,text="手机端播放",font=('黑体',12),fg='Purple',width=10,height=2,command=self.QR_Code)
label_explain=tk.Label(frame_3,fg='GREEN',font=("黑体,12"),text='\n注意:支持大部分\n只用于学习')
#控件布局
frame_1.pack()
frame_2.pack()
frame_3.pack()
group.grid(row = 0,column = 0)
tb1.grid(row = 0,column = 1)
tb2.grid(row = 0,column = 2)
label1.grid(row = 0,column = 0)
entry.grid(row = 0,column = 1)
label2.grid(row = 0,column = 2)
play.grid(row = 0,column = 3,ipadx = 10,ipadv = 10)
label3.grid(row = 0,column = 4)
QR_Code.grid(row = 0,column = 0)
label_explain.grid(row = 1,column = 0)
def loads_jsonp(self,_jsonp):
try:
_json = json.loads(re.match(".*?({.*}).*",_jsonp,re.S).group(1))
return _json
except:
raise ValueError('Invalid Input')
"""
函数说明:视频播放
Parameters:
self
Returns:
Modify:
2023-08-04
"""
def video_play(self):
#解析视频网站地址
port_1='https://jx.aidouer.net/?url='
port_2='http://www.vipjiexi.com/tonq.php?url='
#正则表达判定是否为合法链接
if re.match(r'^https?:/{2}\w.+$',self.url.get()):
if self.v.get() ==1:
#视频链接获取
ip = self.url.get()
#视频链接加密
ip = parse.quote_plus(ip)
#浏览器打开
webbrowser.open(port_1 + self.url.get())
elif self.v.get() == 2:
#连接获取
ip = self.url.get()
#链接加密
ip = parse.quote_plus(ip)
#获取time,key,url
get_url='http://www.vipjiexi.com/x2/tong.php?url=%s' % ip
# get_url_head={
# 'user=-Agent':'Mozilla/5.0(Linux;Android 4.1.1;Nexus 7 Build/jRO03D) Applewebkit/535.19(KHTML)'
webbrowser.open(get_url)
else:
msgbox.showerror(title='错误',message='视频链接无效,请重新输入')
"""
函数说明:生成二维码,手机观看
"""
def QR_Code(self):
if re.match(r'^https?:/{2}\w.+$',self.url.get()):
#视频连接获取
ip = self.url.get()
#视频链接加密
ip = parse.quote_plus(ip)
url = 'http://www.wmxz.wang/video.php?url=%s' % ip
words = url
images_pwd = os.getcwd() + '\Images\\'
png_path = images_pwd + 'bg.png'
qr_name = 'qrcode.png'
qr_path = images_pwd + 'qrcode.png'
run(words = words, picture = png_path, save_name = qr_name,save_dir = images_pwd)
top = tk.Toplevel(self.root)
img = tk.PhotoImage(file = qr_path)
text_label = tk.Label(top,fg='red',font=('楷体',15),text="扫描在线观看")
img_label = tk.Label(top,image=img)
text_label.pack()
img_label.pack()
top.mainloop()
else:
msgbox.showerror(title='错误',message='重新输入')
"""
函数说明:tkinter窗口居中
Parameters:
self
Returns:
无
Modify:
2023-8-3
"""
def center(self):
ws = self.root.winfo_screenwidth()
hs = self.root.winfo_screenheight()
x = int( (ws/2) - (self.w/2) )
y = int( (hs/2) - (self.h/2) )
self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y))
"""
函数说明:loop等待用户事件
Parameter:
self
Returns:
无
Modify:
2023-08-03
"""
def loop(self):
self.root.resizable(False,False)
self.center()
self.root.mainloop()
if __name__ == '__main__':
app = APP() #
app.loop() #
C:\Program Files\Python311\python.exe: can't open file 'C:\Users\ZD\PycharmProjects\pythonProject\main.py': [Errno 2] No such file or directory
运行之后是这个