实战背景
爱奇艺 的VIP视频只有会员能看,普通用户只能看前6分钟。那么我们怎么免费看VIP视频呢?一个简单的方法,机缘巧合下得知可以通过旋风视频VIP解析网站观看各个视频网站的VIP视频(知道后心疼我以前的会员呀~~~~),在我用的时候发现这个网站崩溃了,提供不了服务,内心再度受到打击,于是就去百度搜索看还有没有视频解析网站
我们可以看到,网上提供了很多的视频解析网站
他们的特点都是需要我们获取视频文件的播放链接,然后提供给他们解析。在这里我尝试了两个网站,一个是全民,一个就是牛巴巴VIP解析了。经比较,全民解析获取的视频画制十分的低,顶多也就是流畅,而牛巴巴解析的视频画制非常好,比得上原网站播放的视频了。
打开牛巴巴视频解析网站
然后我们可以打开爱奇艺视频网站,随便选取一部VIP影片,以《邪不压正》为例
我们可以看到红的方框中的网址链接,复制该链接到牛巴巴视频解析网站中就可以观看了。
与此同时,我们打开开发者工具,在XHR文件中可以看到一个api链接。这个api返回的json数据中有url字段,对应的是一个链接:
打开这个链接发现这就是我们要观看的电影视频的原地址,于是我们就对这个api进行分析
请求方法是post方法
参数有id、type、siteuser、md5、hd、lg等字段
于是可以构造请求
request_url = "" headers ={ 'Host': 'api.bbbbbb.me', 'Origin': ' 'Referer': ' + aiqiyi_url, 'User-Agent': ' Mozilla /5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome /67.0.3396.62 Safari/537.36' } data = { 'id': aiqiyi_url, 'type': 'auto', 'siteuser': '', 'md5': 'ab598558d88ab5d6bfb1cf8570afloij', 'hd': '', 'lg': '', } response = requests.post(request_url,headers=headers,data=data)
结合之前的 python将GUI项目打包成exe文件 我们可以制作一个图形化界面实现VIP视频免费在线观看,并将软件打包发行。
最后实现的效果
完整代码如下:
from tkinter import * from selenium import webdriver import requests import json #我不是药神 # # #request_url = def get_url(request_url, aiqiyi_url): headers ={ 'Host': 'api.bbbbbb.me', 'Origin': ' 'Referer': ' + aiqiyi_url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36' } data = { 'id': aiqiyi_url, 'type': 'auto', 'siteuser': '', 'md5': 'ab598558d88ab5d6bfb1cf8570afloij', 'hd': '', 'lg': '', } response = requests.post(request_url,headers=headers,data=data) res = json.loads(response.content) print(type(res)) #dic video_url = res['url'] ext = res['ext'] if ext == "mp4": return video_url else: '''m3u8视频文件''' #备用线路5 #return channel5(api_url="", aiqiyi_url=aiqiyi_url) channel4(api_url="", aiqiyi_url=aiqiyi_url) def channel4(api_url, aiqiyi_url): real_url = aiqiyi_url.split("#")[0] headers = { 'Host': 'y.mt2t.com', 'Origin': ' 'Referer': ' 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36' } data = { 'url': real_url, 'type': '', 'key': 'a0b923820dcc509a' } api_url = "" response = requests.post(api_url, headers=headers, data=data) res = json.loads(response.content) video_url = res[0]['Url'] print(res[0]['Url']) return video_url def channel5(api_url, aiqiyi_url): '''获取m3u8文件URL''' real_url = aiqiyi_url.split("#")[0] headers = { 'Host': 'z1.m1907.cn', 'Referer': ' real_url, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36' } data = { 'z': 'b413af76b43b1a0abc231718862417e2', 'jx': real_url } print(real_url) request_url = api_url + real_url response = requests.get(request_url, headers=headers, data=data) res = json.loads(response.content) video = res['data'][0]['source']['eps'][0] video_url = video['url'] return video_url def bofang(): link = e1.get() online_url = get_url(request_url="", aiqiyi_url=link) browser = webdriver.Chrome() try: print(online_url) browser.get(online_url) except: "异常" root = Tk() root.title("VIP视频在线观看") e1 = Entry(root) e1.grid(row=0,column=1) button1 = Button(root, text="播放", command=bofang) button1.grid(row=1, column=1) root.mainloop()
需要编程资料可以私信我
————————————————
版权声明:本文为CSDN博主「玄蛰」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接: