人人视频的真实地址解析

   2023-02-21 20:43:36 网络610
核心提示:以人人视频播放页URL http://rr.tv/#/video/172278 为例,说下真实地址解析过程。 显然,从播放页URL中可以得到一个ID:172278,这就是视频ID. 接着,调用接口 http://web.rr.

人人视频的真实地址解析

以人人视频播放页URL http://rr.tv/#/video/172278 为例,说下真实地址解析过程。

显然,从播放页URL中可以得到一个ID:172278,这就是视频ID.

接着,调用接口 http://web.rr.tv/v3plus/video/getVideoPlaylinkByVideoId 以视频ID为表单参数发个POST请求:

上述请求返回的结果如下:

经过排查发现,请求header中需要带上如下客户端版本信息:

这些客户端信息可以在 http://rr.tv/static/js/app.576fc11b501f0b441c14.js 这个js文件中找到。

POST请求加上header后的返回结果如下:

data中的playlink即为视频真实地址。

虎牙视频的地址解析下载

以腾讯视频播放页地址 http://v.qq.com/x/cover/rz4mhb6494f12co.html 为例,说说如何解析得到视频的真实地址。

在播放页源码中,可以找到如下视频信息:

其中,vid的值 y00221a60w7 即为视频ID.

使用Chrome浏览器的开发者工具监控网络请求,发现getinfo接口的请求地址如下:

我们尝试构造各个请求参数,然后看看请求结果是什么样子的。

参数中的defn为清晰度标识,可选值有sd(标清)、hd(高清)、shd(超清)、fhd(1080P)。请求结果如下:

我们感兴趣的有三个列表:fi列表、ci列表、ui列表。

同样,在网络请求监测中发现getkey接口的请求是这样的:

构造参数如下:

参数中的vid为视频ID,format为码流的编号,filename根据分段信息中的keyid得来。以第四个分段为例,说说如何构造filename参数。第四个分段信息中的keyid为 y00221a60w7.10401.4 ,我们将keyid中间的 .10 替换为 .p ,然后在末尾加上 .mp4 即可。

getkey接口的请求结果示例如下:

看!key粗来了。

通过网络监测发现视频真实地址是像这样的:

分析该地址的构造,不难发现,地址前缀在前面的ui列表中已经得到了,filename也计算出来了,vkey参数就是上面得到的key.

运行输出如下:

芒果TV视频的地址解析下载

以虎牙视频播放页地址 http://v.huya.com/play/3474405.html 为例,说说如何得到视频的真实地址。

视频ID(vid)可以从播放页地址中得到,上述播放页地址对应的视频ID就是3474405.

通过浏览器开发者工具的网络监测,我们发现如下接口:

请求该接口返回的是JSON格式数据:

items列表中包含了各个清晰度视频的相关信息。可以看到,共有原画、流畅、高清和超清这4种码流。每种码流中的urls就是视频的真实地址。

运行结果:

ios解析爱奇艺的视频地址

以芒果TV播放页地址 http://www.mgtv.com/v/10/167938/c/2942052.html �为例,说说如何解析得到真实视频地址。

芒果TV的视频ID可以从播放页地址中得到。上述播放页地址中,2942052就是视频ID.

以视频ID为参数请求接口 http://v.api.mgtv.com/player/video?retry=1&video_id=2942052 返回的JSON数据如下:

我们可以看到,stream列表里面共有3个清晰度,stream_domain列表里面共有3个域名。假如选择超清清晰度对应的url,然后在url前面加上3个域名中的任一个,构成一个地址 http://disp.titan.mgtv.com/vod.do?fmt=2&pno=1000&fid=593B5886239791678A15C4A872A60B08&now=1478094895&gsid=79b4eb17ce3b441084b4828230fdfdd7&file=%2Fmp4%2F2016%2Fxinwen%2Fwjxw_46493%2F593B5886239791678A15C4A872A60B08_20160106_1_1_1100_mp4%2FE2017FFD796C00BB185FBC30B6D7360B.m3u8

请求这个地址得到的也是一个JSON格式数据:

其中,info是一个m3u8地址,请求m3u8地址 http://pcvideoaliyun.titan.mgtv.com/mp4/2016/xinwen/wjxw_46493/593B5886239791678A15C4A872A60B08_20160106_1_1_1100_mp4/E2017FFD796C00BB185FBC30B6D7360B.m3u8?uuid=66e980da9e284bbe8222cae71fcc650a&t=581a6306&pno=1000&sign=ccedb70160e9136870fbd72864f11bb2&win=3600&srgid=25021&urgid=81&srgids=25021&nid=25021&payload=usertoken%3dhit%3d0%5eruip%3d23024801&rdur=21600&arange=0&limitrate=0&fid=593B5886239791678A15C4A872A60B08&ver=0x03 ,得到如下m3u8内容:

那些不以#号开头的行就是视频分段地址的一部分。只不过,完整的视频分段地址需要构造出来。如何构造呢?我们用浏览器开发者工具观察到最终的视频地址是这样的:

而m3u8地址是这样的:

这两个地址的前面一部分是一样的,有木有?这下该知道如何构造完整的视频分段地址了吧。

思路和前面解析其它视频网站的差不多,都是一层层的拨开隐藏的东西,获取到真正的视频地址。

1)需要准备视频网址。

2)一些验证码解析视频固定的参数

3)从网址的地址中获取需要的参数

4)解析视频的链接地址

一)准备参数(一些需要验证的参数)

2)上步中用到了利用正则表达式去获取到想要的信息

二)拼接需要的解析视频的地址

1)拼接地址

2)获取到地址后,就能直接去进行网络请求,然后解析反回来的json数据,获取到视频真正的地址

上面的解析方法中,可能会有一些参数会被爱奇艺修改掉。如果解析不成功,看看是否是参数的问题。

申明:这只是自己的一些研究而已,请不要用于商业用途。如果影响到你的利益,请联系我。

以上就是关于人人视频的真实地址解析全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

 
举报收藏 0打赏 0评论 0
 
更多>同类百科头条
推荐图文
推荐百科头条
最新发布
点击排行
推荐产品
网站首页  |  公司简介  |  意见建议  |  法律申明  |  隐私政策  |  广告投放  |  如何免费信息发布?  |  如何开通福步贸易网VIP?  |  VIP会员能享受到什么服务?  |  怎样让客户第一时间找到您的商铺?  |  如何推荐产品到自己商铺的首页?  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备15082249号-2