如何抓取网页视频、下载网页视频?
现在网站的视频很多都采用m3u8播放。m3u8的链接长这样:浏览器无法直接播放,需要PotPlayer、MxPlayer等类似的播放器才可以。www.woleige.com/niubi.m3u8如果把这个链接粘贴到浏览器中,只能下载文件,就是以m3u8结尾。比如:woleige.m3u8;我们用记事本等打开这个文件,就会看到里面写着N条视频播放链接。所以它的工作原理简单理解就是,一条一条播放里面写的视频链接。这就给我们下载造成了很大困难。一是你不好获取该视频的m3u8链接,二是拿到链接后不好下载。一般你下载到的都是一段一段的视频,就像这样:
所以今天给你们分享一下,我自己的抓片下片看片方案。
01首先是抓片推荐猫抓插件,Chromium内核的浏览器都可以安装,直接拖到扩展程序里;如果安装失败可以改后缀为Zip,解压出来,然后加载已解压的扩展程序。
猫抓下载:https://laomo.lanzoui.com/id1thtjxlqd安装好后,我们随便找个网站,大大小小,各种奇奇怪怪,什么颜色都有的网站,都可以试一试。浏览器里随便输入个网址,点播一个视频正常播放。这个视频如果是M3U8形式,那么猫爪这个插件就可以抓取到,插件会蹦出来数字,对应抓取到的链接。找到m3u8的结尾,点击右侧复制链接。可能不止一个m3u8,因为页面内会有其他视频干扰或者不同的清晰度,都试试。02接着下片拿到链接后,我们就要下载。常规的比如IDM是无法下载这个链接的,我们需要专属的M3U8下载器。推荐这个贼好用的开源命令行 m3u8/HLS/dash 下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等。
N_m3u8DL下载:
https://laomo.lanzoui.com/iRDlttjzlnc解压后,打开这个SimpleG程序,软件内最重要的就三个位置,工作目录是文件保存位置;M3U8地址,直接粘贴目标链接;合并后删除分片,建议勾选。粘贴链接后即可开始下载。注意这是某P站的链接哦,我没有开启代理,这个速度还是很强悍的。成功下载。这看片不用我教了吧?(这视频最高720P,下载的也是720)03补充N_m3u8DL这个工具很强,只要你得到的M3U8链接没问题,就可以成功下载。
回到抓片这一步骤,猫抓这个插件几乎可以囊括90%的网站,也就是说90%的网站,你都可以抓到它们的视频链接。比如腾讯课堂,大学Mooc等等。对于一些特殊的网站,我这里给大家补充一下几个小书签。以 Chrome 浏览器为例,在书签管理器中右键选择「添加新书签」,填写一个好记的名称,在网址栏填写获得的 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,爱奇艺视频
javascript:eval(function(p,a,c,k,e,r){e=function(c){return(cc="c%a)">35?String.fromCharCode(c+29):c.toString(36
javascript:eval(function(p,a,c,k,e,r){e=function(c){return(cc="c%a)">35?String.fromCharCode(c+29):c.toString(36
javascript:try{prompt(MGTVPlayer.VIDEOINFO.title,MGTVPlayer.player.cms.sourceInfo.info)}catch(err){var blob=new Blob([MGTVPlayer.player.cms.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)}搜狐视频
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 ";_player.p2pkernel.dispatchUrlArr.forEach(function(item,index){var url=item["0"];$.ajaxSettings.async=false;$.get(url,function(data,status){content+="#EXTINF:0 "+data["servers"][0]["url"]+" "});$.ajaxSettings.async=true});content+="#EXT-X-ENDLIST";var blob=new Blob([content],{type:"text/plain"});var url=URL.createObjectURL(blob);var aLink=document.createElement("a");aLink.href=url;aLink.download=ti+"_"+dfn+"_"+dur.replace(/:/,".")+".m3u8";/*nilaoda*/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)将以上脚本添加到浏览器书签中,打开视频网站,点击小书签就可以获得该视频的M3U8链接了。