45,845
社区成员
发帖
与我相关
我的任务
分享
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
运行之后是这个