探索未知,记录点滴

如何抓取并下载网站视频

Spread the love

在浏览网站的过程中,我们不可避免的每天接触到一些视频,有些视频可能深受喜爱,想要下载到本地保存。但是微博、B站、爱奇艺等国内流媒体、Netflix等国外流媒体、YouTube网页版、Twitter网页版等等耳熟能详的网站,都没有提供下载的途径。

这就导致出现「B站的视频真不错,但是我没有办法下载」这样的情况。今天和大家来谈谈,我在日常使用电脑的时候,是如何来解决「网站上面下载视频」的问题。

《如何抓取并下载网站视频》

原始方法

最原始的方法是利用网络调试工具直接抓取直链,然后下载。

调试工具

  • Mac端:Charles(花瓶)、Surge等
  • iOS端:Thor、Charles等
  • 安卓端:HttpCanary等
  • Windows端:Fiddler等

注意:移动端设备可以通过设置http局域网代理将网络请求交给电脑端的调试工具处理

由于原理基本一致,只是ui和细节操作有些许不同,因此我举Mac端surge以及iOS端thor为例,其他平台可类比之。

  • Surge

作为一个半吊子调试、全职翻墙工具,surge有它自己的优势:边上外网边抓取。相比于Charles还需要配合External Proxy,Surge抓取直链确实是很方便了。

在使用之前,我们需要在Mac上面安装ssl证书,开启「流量抓取」和「Mitm」(中间人攻击,用来解密https)。如果对具体操作步骤不清楚,请参考我之前写的「surge入门」。

1、抓取微博视频(mp4)

打开微博,找到我们想要抓取视频的页面,视频开始播放后,来到Surge Dashboard。此时我们会看见很多请求,从获取方法是post的请求中寻找,找到如下链接。一般来讲链接中会显示mp4/video等表示「视频」的字样。完整复制下来,使用浏览器或者wget下载到本地即可。

《如何抓取并下载网站视频》

《如何抓取并下载网站视频》

2、抓取Twitter视频(m3u8)

打开推特,待视频开始播放,来到Surge Dashboard。从获取方法是post的请求中寻找,会看到结尾是m3u8的链接,复制到浏览器或者wget下载。

《如何抓取并下载网站视频》

下载完毕之后发现得到了一个m3u8文件,我们要将它转换为mp4格式。转换工具自行寻找,个人比较中意的是ffmpeg,在Mac下面输入brew install ffmpeg即可安装。(需要先安装homebrew包管理器,顺带吐槽一下homebrew安装了1w个依赖)

用文本编辑器打开该m3u8文件,会发现里面ts文件( 传输流文件)链接并不全,直接扔ffmpeg会报错。因此需要在每个ts文件链接之前加上https头并补全域名https://video.twimg.com

之后在终端输入:

  • Thor

锤子是iOS上面不错的抓包软件,支持https解密、断点、正则等,但是缺点也很明显:局限于iOS系统的限制,不能像surge iOS一样边上外网边抓取。因此折中的方案是使用路由器等透明代理或者使用http局域网代理。

抓取微博视频

我们再以微博视频「大碗宽面为例」,thor配置好VPN以及证书之后,选择「全局抓包」。并打开微博,播放该视频。开始播放后回到thor,寻找相关链接,右键「导出原始链接」到浏览器即可下载。

和桌面端的软件不同,锤子的ui设计的还是很人性化的,没有一种让你在茫茫链接中寻找的感觉。《如何抓取并下载网站视频》

实际上Thor还有一个值得吹爆的功能,那就是过滤器。thor的过滤器提供了诸多筛选项目:抓包协议、域名、关键字等,并且提供了黑名单和白名单两种运作模式。如果你需要对某一个网站长期抓包的话,可以考虑制作一个过滤器,避免全局抓包寻找相关链接的苦恼。

刚好最近得到了大佬分享的400余过滤器合集,分享出来:

点此下载 Thor 过滤器合集  密码:newlearner

不足

  1. 对于部分基础薄弱的人,上手难度大
  2. 并不是所有网站都可以通过直链下载视频,有的是多个m3u8文件,有的含有加密验证(比如Netflix)
  3. 相比封装好的视频下载工具,十分繁琐

视频下载app

术业有专攻,随着需求的增加,人们也开发了众多视频自动抓取下载工具。下面和大家分享一下我了解的:

  • You-get

Github地址:you-get

平台:macOS、Windows、Linux全平台

介绍:基于python的命令行程序,提供便利的方式来下载网络上的媒体信息。支持油管、推特、ins、汤不热、Vimeo、Flickr、niconico、Facebook、AcFun、贴吧、哔哩哔哩、爱奇艺、斗鱼、豆瓣、PPTV、腾讯视频、优酷、抖音(TikTok)、知乎、微博等主流媒体&社交平台的视频抓取下载。

安装:需要安装python3.2及以上,Windows使用pip3 install you-get,macOS使用brew install you-get安装。

使用:Mac终端/Windows powershell输入 you-get -o ~/path/to/save -o filename +视频链接,终端走代理的方法见上文。《如何抓取并下载网站视频》

  • Downie 3

Mac用户对这款软件应该不陌生,是一款十分好用的Mac端视频抓取下载软件。

官网:Downie 3

平台:macOS

使用:下载好软件之后根据提示安装好相对应浏览器的扩展,打开想要下载的视频网页,并点击扩展。Downie会将其下载到本地。

缺点:相比于you-get,在下载Twitter等网站视频时会出现「需要登录/不能精准识别链接」的情况,这个时候需要我们手动去操作。

《如何抓取并下载网站视频》

  • Shortcuts(捷径)

捷径是iOS上的一款效率软件,实现的效果是点一点即可实现复杂的功能。捷径圈子里也有很多油管、ins、抖音等网站的视频下载捷径文件。

App Store下载:shortcuts

平台:iOS

使用:将对应的视频连接复制,运行捷径,视频下载在「照片.app」中

捷径推荐:

iOS效率神器Workflow介绍以及一些实用规则分享

捷径社区

捷径库

捷径盒

Shortcuts Gallery

  • X.cat

个人开发者开发的一款iOS,可以轻松抓取和下载音频/视频/图片,比较全能

平台:iOS

下载:因为作者问题,该软件内测到现在没有上架,微博搜索「爱尔兰雪」和作者联系购买。

吐槽:①不上架 ②开发者把用户当傻子 ③贵,没错就是贵

《如何抓取并下载网站视频》

  • FlixGrab+

下载Netflix视频专用~

Netflix限制用户下载的视频只能通过奈飞客户端+登录奈飞账号后观看,十分鸡贼。目前除了在线录屏,只剩下这个方法了。(感谢开发者)

官网:FlixGrab+

平台:Windows

使用:没啥好说的,直接用

后记

很多视频网站限制下载多半是处于版权的考虑,以上内容仅供学习娱乐所用,不得将下载的侵权视频商用。

图片和音频的抓取通用以上方法。

本人对安卓端极不熟悉,如果有安卓端好用的app推荐,请在下方留言,十分感谢!

 

 

打赏 赞(0)
支付宝二维码图片

支付宝扫描二维码打赏

  1. 跨境电商之家说道:

    给力!谢谢分享!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Recommended
19.5.22更新:…