使用javascript在各大视频网站一键抓取无水印m3u8格式视频并将视频下载成mp4格式(以Google抓取腾讯视频为例)

        两三天没有更新博客了,最近博主有点夏乏(其实是懒),今日在划水的时候无意中学到了使用javascrpit抓取m3u8格式视频的小技巧,因此进行延伸并作此博客进行记录。接下来,我将使用javascript在各大视频网站(腾讯、优酷、爱奇艺等)进行一键抓取无水印m3u8格式视频并将其下载到本地(下载格式为mp4格式)。本次实例中,以抓取腾讯视频为例。

准备工作

1.Google浏览器
2.m3u8格式视频下载工具(https://wws.lanzous.com/iMcwKe3rlkf)

实战演示

        1.打开谷歌浏览器,同时按下CTRL+D打开书签保存弹窗。点击更多,进入到添加书签页面。
在这里插入图片描述
在这里插入图片描述
        2.在网址栏粘贴如下所示代码(javascript抓取腾讯视频),名称则随意命名(这里我命名为腾讯视频),填写完毕后点击保存即可。

javascript:var a=prompt(PLAYER._DownloadMonitor.context.dataset.title,PLAYER._DownloadMonitor.context.dataset.ckc?PLAYER._DownloadMonitor.context.dataset.currentVideoUrl:PLAYER._DownloadMonitor.context.dataset.currentVideoUrl.replace(/:.*qq.com/g,"://defaultts.tc.qq.com/defaultts.tc.qq.com"));

        3.打开需要下载的视频(因为该段代码仅针对腾讯视频,因此这里我打开腾讯视频),点击书签栏刚保存过的书签。注意:目前经过测试,普通用户只能下载普通用户的视频;会员视频需要使用会员账号下载。如果想要以普通用户身份下载会员视频,可使用谷歌插件完成。
在这里插入图片描述
        4.复制弹出的视频代码串(即抓取到的原生m3u8视频),这里我抓取到的小猪佩奇的视频代码串即为:https://defaultts.tc.qq.com/defaultts.tc.qq.com/uwMROfz2r5zCIaQXGdGnC2df644Q3LWUuLvyGY4RMhgE_3T2/X5TpHg6-J3RDYqEcgXyqJTJaieD5C7-2TIkGNMgpj7h_7dqAi5_oQab-cBpucK4rvndsV03J41HP2esH3fh9p0Di4hkcOsyumQqtF6Fy_P4q148sI97yvROFto-d0lFF4u7fDrw1FXDJ106rmYY6MeJkhzKHvxcw04qtGZMCJbE/i0020zgntzc.321002.ts.m3u8?ver=4
在这里插入图片描述
        5.将视频代码串复制粘贴到m3u8下载工具中(任意一款m3u8视频下载工具均可),这里我使用本文中为大家所提供的下载工具。下载完毕后打开,点击“+”新增下载,将上述抓取到的(小猪佩奇)视频代码串粘贴进去,注意修改视频存储路径。
在这里插入图片描述
        6.点击start Donwnload,即可立刻开始下载视频。等待进度条走完,可发现视频存储路径位置已经出现了以字母数字串命名的视频文件,打开即可看到无水印视频。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

        总体来说,这个方法具有局限性,即不能以普通用户下载会员用户才能观看的视频。不过作为一个小技巧,可以进行学习从而扩展自己的知识面。m3u8视频链接完全可以通过抓包获取到,使用javascript只不过是将其简便化了。

补充

        其他各大视频网址javascript抓取代码补充:(操作方法如上述腾讯视频所示)
        1.芒果TV

javascript:try{
   prompt(MGTVPlayer.VIDEOINFO.title,MGTVPlayer.playerNaNs.sourceInfo.info)}catch(err){
   var blob=new Blob([MGTVPlayer.playerNaNs.fakeMasterPlaylist],{
   type:"text/plain"});var url=URL.createObjectURL(blob);var title=MGTVPlayer.VIDEOINFO.title+".m3u8";var aLink=document.createElement("a");aLink.href=url;aLink.download=title;aLink.style.display="none";var event;if(window.MouseEvent){
   event=new MouseEvent("click")}else{
   event=document.createEvent("MouseEvents");event.initMouseEvent("click",true,false,window,0,0,0,0,0,false,false,false,false,0,null)}aLink.dispatchEvent(event)}

        2.搜狐视频

javascript:var dur=document.getElementsByClassName("x-time-duration")[0].innerText;var ti=document.getElementById("vinfobox").getElementsByTagName("h2")[0].innerText;var dfn=document.getElementsByClassName("x-resolution-btn")[0].innerText;var content="#EXTM3U\n";_player.p2pkernel.dispatchUrlArr.forEach(function(item,index){
   var url=item["0"];$.ajaxSettings.async=false;$.get(url,function(data,status){
   content+="#EXTINF:0\n"+data["servers"][0]["url"]+"\n"});$.ajaxSettings.async=true});content+="#EXT-X-ENDLIST";var blob=new Blob([content],{
   type:
  • 17
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值