前言

       最近学习很热衷于学习解析视频,本次解析的是腾讯视频,根据查阅相关资料,目前已经实现腾讯视频真实地址解析,并且能够下载腾讯视频。

腾讯视频解析原理

与其他视频解析原理一样,先页面找参数然后调用接口,再拼装真实URL地址。

腾讯视频解析的第一步是拿到vid,就是url地址的最后一段,例如下面的URL:
https://v.qq.com/x/cover/m441e3rjq9kwpsc/h0025x3mn7z.html
上面的vid则是h0025x3mn7z,就是介于最后一个/到.html之间的字符。这种比较简单

然后通过vid获取api信息,调用接口如下:
String apiUrl="http://vv.video.qq.com/getinfo?vids="+vid+"&platform=101001&charge=0&otype=json";

返回数据如下面:
QZOutputJson={"dltype":1,"em":....省略

};
需要截取下json,也就是QZOutputJson=到最后的分号之间的字符串。

通过json解析获取到fvkey、fn、url
        //解析fn
        String fn = JsonPath.read(jsonData, "$.vl.vi[0].fn");
        //解析fvkey
        String fvkey = JsonPath.read(jsonData, "$.vl.vi[0].fvkey");
        //解析url
        String url = JsonPath.read(jsonData, "$.vl.vi[0].ul.ui[0].url");

最后就是拼接真实url地址
String realPath=url+fn+"?vkey="+fvkey;

最后我们运行上面的代码得到真实地址,如下图所示:
解析代码运行结果
解析代码运行结果

点击path,浏览器就打开了:
成功打开解析视频且可以下载
成功打开解析视频且可以下载

【提示:】
腾讯视频解析项目源码下载:demo-tencent-video.zip 访问密码 :9987



 

评论区域