欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

你还在为看电影发愁?Python制作全网视频播放工具!

程序员文章站 2022-05-01 21:08:32
环境: python3.6.5 Windows 模块: re requests tkinter webbrowser 首先,我们可以随意在网络上找一个视频解析接口,我这里找的是: http://www.qmaile.com/ 你还在为看电影发愁?Python制作全网视频播放工具! 进入该网站,我们可 ......

环境:

  • python3.6.5
  • windows

模块:

  • re
  • requests
  • tkinter
  • webbrowser

首先,我们可以随意在网络上找一个视频解析接口,我这里找的是:

http://www.qmaile.com/

 
你还在为看电影发愁?Python制作全网视频播放工具!
你还在为看电影发愁?python制作全网视频播放工具!

进入该网站,我们可以发现,选择接口总共有5个选项,我们只需要把视频的url放入到播放地址当中,然后点击开始解析,就会跳转到一个新的页面:
*很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
qq群:595948765
欢迎加入,一起讨论 一起学习!

 
你还在为看电影发愁?Python制作全网视频播放工具!
你还在为看电影发愁?python制作全网视频播放工具!

在这里我们可以发现跳转的url:

https://jx.idc126.net/jx/?url=https://v.qq.com/x/cover/6gh5vi62g24a87d.html

中包含了我们的视频播放地址。

经过接口的转换,反复测试后,我们发现只有

https://jx.idc126.net/jx/?

这一部分会发生变化。那么我们猜测 ,每个都代表我们的一个接口链接:

 
你还在为看电影发愁?Python制作全网视频播放工具!
你还在为看电影发愁?python制作全网视频播放工具!

果然,在网页源代码中,我们可以找到这些接口的链接。

那么是否可以得出结论,只需要把这些接口采集下来,然后 后面跟上我们的vip电影播放地址,就可以组成一个新的vip视频播放地址?

response=requests.get('http://www.qmaile.com/')
response.encoding=response.apparent_encoding
reg=re.compile('<option value="(.*?)" selected="">')
res=re.findall(reg,response.text)
one=res[0]
two=res[1]
three=res[2]
four=res[3]
five=res[4]

如果我们想做以下这款软件,5个接口单选按钮,随便选择一个,然后填上播放链接,最后点击播放,实现跳转到一个新网页,

而网页的地址是,接口内的地址+播放链接地址。

 
你还在为看电影发愁?Python制作全网视频播放工具!
你还在为看电影发愁?python制作全网视频播放工具!

更多python技术相关教程,直接私我即可!

root = tk.tk()
root.title('vip播放')
root.geometry('500x250+100+100')# 宽*长
l1=tk.label(root,text='播放接口:',font=("arial",12),)#bg='pink'height=3
l1.grid(row=0,column=0)
l2=tk.label(root,text='播放链接:',font=("arial",12),)
l2.grid(row=6,column=0)
t1=tk.entry(root,text='',width=50)
t1.grid(row=6,column=1)
#stringvar是tk库内部定义的字符串变量类型,在这里用# 于管理部件上面的字符;不过一般用在按钮button上#radiobutton控件为用户提供由两个或多个互斥选项组成的选项集。# 单选按钮# 当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选定。# “这里有一组选项,您可以从中选择一个且只能选择一个。
var=tk.stringvar(value=none)
r1=tk.radiobutton(root,text='播放接口1',variable=var,value=one,)
r1.grid(row=0,column=1,)
var.set(r1)
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)

def play_movie():
    webbrowser.open(var.get()+t1.get())


b1=tk.button(root,text='播放',font=("arial",12), width=8,command=play_movie)
b1.grid(row=7,column=1)

def del_text():
    t1.delete(0,'end')


b2=tk.button(root,text='清除',font=("arial",12), width=8,command=del_text)
b2.grid(row=8,column=1)

root.mainloop()