网络上大量存在的Vip视频解析都是依赖于视频解析接口,这些接口通过传递视频播放网址这个参数进行某些运算,如果找到匹配链接的资源就返回视频源 。
例如: http://player.jfrft.net/index.php?url=视频地址(你在视频网址能找到的资源,比如:爱奇艺)【vip视频解析是什么原理 - 经验总结 www.jingyanzongjie.com】
一般普通的解密提取http请求里面的关键字段,如uid等信息,然后用抓包工具分析(谷歌浏览器就可以) 。一般都会在js里面根据这些信息计算出地址,简单点的自己跟踪下就可以取得地址了,复杂一些的最好用js工具随时调试js与他的算法最后计算出来 。最复杂的可能会需要破解swf播放器取得一些数据 。其实过程和网页填表自动注册那些差不多,类似代码github上有很多,像B站,优酷,搜狐视频都可以解析,不用从头开始 。比如腾讯的取得vid以后这样算出来地址:
def qq_download_by_vid(vid,):api = "http://h5vv.video.qq.com/getinfo?otype=json&platform=10901&vid=%s" % vid
content = urllib.urlopen(api)
output_json =JSONDecoder().decode(content.read()[13:-1])
print(output_json)
url = output_json['vl']['vi'][0]['ul']['ui'][0]['url']
fvkey = output_json['vl']['vi'][0]['fvkey']
mp4 = output_json['vl']['vi'][0]['cl'].get('ci', None)
if mp4:
mp4 = mp4[0]['keyid'].replace('.10', '.p') + '.mp4'
else:
mp4 = output_json['vl']['vi'][0]['fn']
url = '%s/%s?vkey=%s' % ( url, mp4, fvkey )
print(url)
这里以解析爱奇艺VIP视频,演示如何解析 。
上图,红色框里的内容目前可以永久缓存使用
/videos/v0/20171108/c6/6d/cd9dbc9c189f48494890ebb91778571f.mp4
3)视频地址组合
mp4地址组合:http://60.217.240.163/videos/v0/20171108/c6/6d/cd9dbc9c189f48494890ebb91778571f.mp4会员视频、用券视频、付费视频,都可以这样使用,无需key算法和ip算法
ts地址组合:http://60.217.240.16/videos/v0/20171125/07/c7/148c1b66722f0d61cb3def751cf78b6b.ts?qdv=1&start=0&end=603730&hsize=65783&tag=0&v=0&contentlength=275984
获取IP地址通过ping获取到的可用(替换)ip
150.138.210.121
150.138.210.53
150.138.210.52
150.138.210.54
150.138.210.50
60.217.240.163
150.138.210.55
150.138.210.49
150.138.210.57
60.217.240.161
175.43.123.1
150.138.210.59
60.217.240.162
60.217.240.166
60.217.240.169
60.217.240.165
175.43.123.52
视频分流那些真大佬将抓取到的VIP视频会分流到一些网盘中,方便给其他用户使用观看 。这样不管爱奇艺视频地址怎么变也不影响了 。