查看: 4035|回复: 0

[HTML代码] 如何扒视频 B站、斗鱼等都可以

发表于 2018-2-12 08:00:01

作者:娇娇jojo

时间:2018年01月26日

说到前端开发,免不了在网页里放视频,放视频的话,有时候又免不了扒视频,下面就是我扒视频的辛酸历程,大家且看且珍惜吧。

一、直接扒代码

像pandakill的视频,直接扒代码就可以。
图片描述

至于什么格式,自己下载下来后,用格式工厂直接转换就ok了。

二、看network

比如说触手的视频,看network就能找到视频,一开始我还是硬生生慢慢的找,后来有网友提示,可以先按size排序,因为视频会比一般的文件都大很多==,这样就简单啦,哈哈哈。
图片描述

三、改域名

这个适用于B站(bilibili)的视频。

比如说某网站地址是https://www.bilibili.com/video/av71/index_4.html

怎么扒视频嘞,把bilibili改成kanbilibili就可以了,也就是

https://www.kanbilibili.com/video/av71/index_4.html

打开后,页面顶部是下图这个样子:
图片描述

点击“下载地址”后,
图片描述

它分为2部分,下载地址和弹幕下载地址,我们只需要选择下载地址(第一部分)那一块的就可以。

而下载地址部分又有3种形式的下载方式,P2、P3和P4,一般下P3就可以,P4类的我下载过,但中途会有几个分片下载失败,P3的可以完全下载下来,下载下来的是很多个ts文件,然后我们可以用B站本身提供的代码合并工具将多个ts文件合并成一个ts文件。合并地址:https://www.kanbilibili.com/tools/flvjoin。

图片描述

先添加已经下载好的多个文件,需要排序的可以点一下“自动排序”,然后输入合并后的文件名,点“开始合并”,等待一段时间就可以了,合并完之后,下载下来就ok啦。

但这时候可能有人问,我需要mp4格式的视频,什么ts文件我都不知道这个是啥。这个这个呢,有一个特别简单粗暴的方法,那就是把视频的后缀名直接改成mp4就可以了,本地是能完全播放的,但我们肯定不仅仅局限于本地播放,也还要能放在我们的代码里,然后别人访问这个网页就能播放。那这个法子就不行啦,我们都知道视频的编码格式有很多种,不同浏览器支持的编码格式不一样,比如ts的编码格式是MPEG,而谷歌和火狐等浏览器支持的编码格式是FLV,so主角登场啦:格式工厂,它不仅能转换视频的格式,还能将视频格式转换,这样就so easy啦

四、利用Chrome与迅雷下载视频

这个方法比较推荐,虽然复杂点,但很有效。

适用网址:斗鱼、网易云课堂、B站等等。

我们都知道视频网站为了保护版权防止盗链下载一般都使用分段视频的方式来加载。对于一般的 .flv 格式就几段最多也就十几段视频源,但 .ts 的格式正常每段几M,一小时左右的视频基本要几百段,手动下载那就太累了。接下来分享一个无痛的方法,并且只须用到系统常用软件。

1、获取原视频

下面以某视频为例,使用 Chrome 访问并打开开发者工具切换到 Netword 面板,可以点下视频开始以及快结束的位置,这时我们可以发现视频源是一个有规律的地址,并且从001到344。

http://vodhls1.douyucdn.cn/live/normal_live-1472475rRBixlMro--20161208170245/8a710e1fcd074f5e8172a289948015b4_0000001.ts?k=13f7855bd737b9572e71edaf4bf0cd23&t=585eb0a5&d=97D3DB2B2FBB6117D2076CA626978877&u=0&ct=web&vid=40890

重点看我标红的地方就可以。

2、批量下载 .ts 视频

先打开迅雷,新建任务,然后选择批量添加任务。
图片描述

设置URL规则,用(*)代表变化部分,最多长度为3(因为迅雷最多支持同时添加1000个任务)
图片描述

大家只要关注我圈上的3部分就可以。

第一部分:选择你要变化的数字的位置换成一对小括号和通配符,即 (*) ,不过这里有需要注意的地方,我们注意到这里我写了6个0和一个通配,那下面那一栏,对应的写的就是0到9(一位数字),当ts文件是10到99的,那这里就得写成5个0加一个通配,一次类推,ts文件是100到999的,这里就得写成4个0加一个通配,总之,ts文件的总位数是7位,这也就意味着我们虽然是批量下载,但还是得分批,0到9一批,10到99一批,100到999一批,等等,这个注意下就ok啦。

第二部分:前面2个输入框第一部分已经说完了,现在主要就是通配符的长度了,这里默认写1就行,那写2和3为啥就不行呢,你们自行尝试就知道了,第三部分可以看结果。

第三部分:这里相当于检查的部分,填写好前面2部分后,就可以在第三部分查看ts文件的范围,我们可以依此校验前面的配置是否正确。

点“确定”之后会弹出以下弹窗:
图片描述

这个我们只需注意“合并为任务组”就可以了,这个是什么意思呢,意思是这个ts文件归类到你先写好的任务组里,这样方便管理。

如果没有设置错误,接下来会自动下载了。

下载完成后,那怎么实现将这些ts文件合并成一个呢? 其实这个更简单了,利用一行 DOS 命令就可以实现。
  1. copy/b D:\video\*.ts D:\video-all\all.ts
复制代码

执行以上命令后会将 D:\video\ 目录下面所有的 .ts 文件合并成 all.ts,并把这个all.ts 文件放在video-all文件夹里。

命令说明

copy用来合并文件,不加/b参数会当成普通文本文件来合并,加了该参数表示以二进制文件来合并;另外文件顺序是按文件名来排序的,由于绝大多数视频流文件名也都非常有规律,基本上无须自己重新命名排序。(注:路径中不要存在空格)

五、使用下载工具下载视频

适用于:斗鱼等。

这个我试验失败了,你们自己可以尝试下,哈哈哈。

步骤

1、打开火狐浏览器插件页,并安装Ant.com video downloader插件

图片描述

图片描述

插件安装完成之后,在浏览器右上角可以看到一个下载图标。
图片描述

2、配置插件

点击插件下载图标旁的下箭头,选择Preferences(配置),其中:

Display Mode改为Toolbar Downloaded movies folder可以改为想要保存视频的地址
说明:

因为这款插件不能满足我们的所有需求,所以这里保存视频的文件夹在哪里关系不大,并不一定实际在这里保存所有视频。

3、打开斗鱼视频详情页,获取视频真实地址

打开想要下载的视频详情页,如:https://v.douyu.com/show/rjNBdvnpJGmME2yw

页面加载完成之后,可以看到视频插件download图标有动画,点击download可以看到当前可下载的视频列表。
图片描述

由于斗鱼的视频是分段的,一个视频会分成多个ts格式视频,所以在视频列表中可以看到多个文件。

鼠标左键点击列表倒数第二个,即开始下载。(这个文件是完整视频的第一段)
图片描述

下载完成之后,可以在浏览器右上角找到已下载的文件。鼠标右键点击刚刚下载的文件,选择复制下载链接。
图片描述

复制下载链接后,这时候又可以回到上面介绍的那个方法了,用迅雷批量下载。

至此,先讲这5种方法吧,其实还有其他方法,你们自己去探究吧~~~



回复

使用道具 举报