本帖最后由 wanglaihuai 于 2019-4-28 14:17 编辑
小白班门弄斧,大佬勿喷。
有其他下载办法请多指教。
如果板块有误,还望指正。
今天一到单位,有同事让帮忙下载一个人民网人民电视的视频:
[HTML] 纯文本查看 复制代码 http://tv.people.com.cn/n1/2017/1018/c367509-29594881.html
我心想这还不简单?于是打开链接,最简单的还是用猫抓了,结果发现抓出来是这样的:
此路不通,再试试you-get、youtube-dl、annie……居然都没辙! 这下有意思了。灵机一动我换了移动UA,果不其然找到了MP4视频的地址:
[HTML] 纯文本查看 复制代码 http://flv4mp4.people.com.cn/videofile3/pvmsvideo/2017/10/18/WeiQingCheng_c8f46531f742a56be6a24b71d46815bd_android_c.mp4
然鹅,这个5分多的视频只有13M,显然是为了适配移动端压缩了的低清晰度视频。
作为一个完美主义者,不可能就这么容易满足现状吧。 右键点个分享吧。
分享JS代码:
[JavaScript] 纯文本查看 复制代码 <script src="http://tv.people.com.cn/img/player/v.js"></script>
<script>showPlayer({id:"/pvservice/xml/2017/10/18/087bb8a8-3b2a-4b29-81f0-eb428c6fb4f4.xml",width:640,height:525});</script> 然后打开这个JS文件,其获得移动端数据,即前面那个标清视频的方法为 [JavaScript] 纯文本查看 复制代码 “http://tvplayer.people.com.cn/getXML.php?path=”+safariObj.xml
于是把分享代码里的xml文件路径放进去补全:
[HTML] 纯文本查看 复制代码 http://tvplayer.people.com.cn/getXML.php?path=/pvservice/xml/2017/10/18/087bb8a8-3b2a-4b29-81f0-eb428c6fb4f4.xml
访问之后出来的就是标清视频
[HTML] 纯文本查看 复制代码 ('http://flv4mp4.people.com.cn/videofile3/pvmsvideo/2017/10/18/WeiQingCheng_c8f46531f742a56be6a24b71d46815bd_android_c.mp4','http://flvimage.people.com.cn/videofile3/pvmsimage/2017/10/18/weiqingcheng_e9faa1c86a3b2460a05bf4106fadc463.jpg',1.7778)
那么我们知道了视频存放路径,就可以大胆设想高清视频应该也在这里吧?在播放页面把视频质量选成高清,猫抓到了分段视频地址:
[HTML] 纯文本查看 复制代码 http://flv4.people.com.cn/hds-vod/videofile3//pvmsvideo/2017/10/18/WeiQingCheng_c8f46531f742a56be6a24b71d46815bd_ms_hd.mp4Seg1-Frag1
发现目录长得差不多,不同的是这里:
和这里:
合并同类项,我们可以猜测到高清视频的地址应该是:
[HTML] 纯文本查看 复制代码 http://flv4mp4.people.com.cn/videofile3//pvmsvideo/2017/10/18/WeiQingCheng_c8f46531f742a56be6a24b71d46815bd_ms_hd.mp4
访问一下。嗯,好像清晰度还可以。50M的体积也还可以接受了——按照找到的分段视频每段0.46~0.8MB的体积,81段计算,高清视频应该就是50M左右。
写在最后:
想着写个js脚本存到书签,万一那天能用到。但是到了访问xml这一步提示“No 'Access-Control-Allow-Origin' header is present on the requestedresource.”,这就涉及到我的知识盲区了……有大神能给解决一下不?
|