猫抓:5分钟把网页里的视频资源抓下来
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
某视频页面上你暂停了一段 28 秒的视频想存下来,右键却找不到直接下载入口。打开猫抓,资源列表直接从当前页面的网络请求里列出来——视频、音频、M3U8 流都带着文件名和大小,点一下下载就落到本地。
猫抓(cat-catch)是一个开源的网页资源嗅探浏览器扩展:监听页面流量、挑出可播放的媒体资源,并能把 M3U8 分片合并成完整视频文件。
📋 能力速览:猫抓能做什么、不做什么
| 能力 | 一句话说清做什么 | 典型适用场景 |
|---|---|---|
| 网络嗅探 | 记录页面发出的媒体请求,列成资源面板 | 普通播放页直接抓 mp4 源 |
| M3U8 解析器 | 解析 HLS 分片清单,下载并合并成单个文件 | 被切成几百个 .ts 的直播回看 |
| 深度搜索 | 重扫页面缓存与脚本,找常规嗅探漏掉的资源 | 列表为空但页面明明在播视频 |
| 二维码分享 | 给资源链接生成二维码,手机扫码打开 | 电脑上找到的资源拿到手机看 |
| 外部调用 | 把链接发给 aria2、m3u8DL 或 MQTT 服务器 | 让本地下载器接管大文件 |
| 过滤规则 | 按后缀、类型、大小表达式、正则筛选显示内容 | 过滤掉图片碎片和广告请求 |
| 视频录制 | 录制正在播放的画面,含 WebRTC 流 | 页面无直接链接、只有实时画面 |
它不是录屏软件——只能抓到浏览器真实请求过的资源,页面没请求的东西它变不出来。它也绕不开 DRM 强加密(如 Widevine 那套),遇到带锁的流媒体请换思路。
装好扩展并完成第一次下载
主路径只需要 5 步:
- 在 Chrome 网上应用店或 Edge 加载项商店搜索"猫抓",点击安装。注意市面上有加广告代码的仿冒版本,以官方渠道为准
- 打开任意带视频的网页,点一次播放
- 点击浏览器工具栏的猫抓图标
- 在面板"当前页面"里找到目标条目,点右侧的下载图标
- 文件会按默认命名模板保存,到下载目录确认即可
验证装对了:工具栏出现猫形图标;点开面板能看到"当前页面 / 其他页面 / 媒体控制"三个页签,且"当前页面"下方开始填充带大小的条目,就说明嗅探正常工作。
备选路径一句话:源码党执行git clone https://gitcode.com/GitHub_Trending/ca/cat-catch后,到扩展管理页开启开发者模式,"加载已解压的扩展程序"选中该文件夹即可;也可以从 Releases 拿 crx 文件直接拖入扩展页。
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch版本要求:1.0.17 之后需要 Chromium 93 以上,侧边栏等完整功能建议 104 以上。
🔍 核心能力拆解
资源列表:直接找到并下载视频
做什么:把页面请求过的媒体按行列出,附大小、时长、分辨率,内置播放器可直接预览。
怎么用:
- 点图标打开面板,"当前页面"显示当前标签页嗅到的资源
- 每行右侧依次是复制链接、预览、下载三个按钮
- 点击条目展开详情:标题、MIME、时长、分辨率,以及完整资源地址
- 勾选多行,底部点"下载所选"或"复制所选"
- 底部预览区可直接播放,支持画中画、倍速
边界:列表只收录已经发生的网络请求,没播放过的视频、没触碰过的 iframe 里不会凭空出现;"其他页面"页签可以回查别的标签页。核心嗅探逻辑在 catch-script/catch.js,面板行为在 js/popup.js。
M3U8 解析器:把分片合并成一个文件
做什么:HLS 流媒体把视频切成大量 .ts 小段(M3U8 就是这份清单文件),解析器负责下全所有分片并合并成一个 mp4。
怎么用:
- 列表中右键 m3u8 条目选解析器,打开解析页面
- 顶部显示分片总数、总时长、分辨率,中间是逐条分片地址
- 勾选"mp4格式",合并后直接输出 mp4;线程数可调到 32
- 只需部分片段时,用"下载范围"填起止分片号,或在分片列表里逐条勾选
- 加密流可以点"寻找真实密钥",或手动上传 key(16 进制或 base64)
边界:密钥要靠页面自身暴露的信息去找,站点如果按请求动态轮换密钥就可能取不到;音视频分离成两条 m3u8 时,合并后仍是各自为政,需要外部的 ffmpeg 才能合声画。解析器实现见 js/m3u8.js。
二维码与外部调用:把链接送出去
做什么:资源不必只落在本机——推给手机,或交给更专业的下载程序。
怎么用:
- 面板里点对应条目的二维码图标,生成资源链接二维码
- 手机扫码即可在移动浏览器里打开该链接
- 设置页开启 Aria2 RPC,填入 RPC 地址后,资源可直接交给本地 aria2 下载
- 解析器界面点"调用 m3u8DL 下载",把整条 HLS 任务交给 N_m3u8DL-CLI/RE
- 偏好脚本化的,可以"复制 m3u8DL 命令"或"复制所选",拿到带 Referer/Cookie 占位符的完整命令
边界:aria2 需要你先在本机跑起 RPC 服务;"调用程序"依赖系统里注册了对应协议的客户端,没装就点了也没反应。相关设置项集中在 options.html 对应的设置页,后台逻辑在 js/background.js。
工作流实战
工作流一(轻量):新闻页单条视频保存
任务目标:把页面上那 28 秒视频存成本地文件。
- 播放一遍视频,确保浏览器发出了资源请求
- 打开猫抓,在"当前页面"列表按大小或获取时间排序,挑最大那条
- 点下载图标,默认按
${title}.${ext}模板命名 - 到下载目录抽查一下能否正常播放
产出物:一个可播放的 mp4 文件,全程不超过 1 分钟。
工作流二(重度):系列 HLS 课程分片归档
任务目标:30 集分片课程,批量合并、规范命名、归档到一个目录。
- 第一集右键 m3u8 条目打开解析器,确认分片数、时长、分辨率符合预期
- 勾选"mp4格式",线程数拉高,点"合并下载"
- 在设置页把下载文件名模板改成
${title}.${ext},同名自动处理 - 大文件多的话开启 Aria2 RPC 并指定下载目录,让 aria2 接管队列
- 逐集重复,或打开"自动下载"让检测到新资源时直接入队
产出物:一组按标题命名的 mp4;若某集缺密钥,回到解析器点"寻找真实密钥"或上传 key 后重试该集即可。
常见卡点
| 症状 | 先查什么 | 再做什么 |
|---|---|---|
| 列表是空的 | 页面是否真的播放过(很多站点播了才请求流地址) | 点播放、滚动页面,然后用深度搜索重扫 |
| 合并出的文件不能播放 | m3u8 是否加密、密钥有没有取到 | 解析器里点"寻找真实密钥",取不到就手动上传 key |
| 面板打不开或功能残缺 | 浏览器内核版本 | 升到 Chromium 93 以上,体验完整功能用 104 以上 |
版权边界只有一句:只下载你拥有版权或已获授权的内容,项目也维护了站点方的主动屏蔽列表。
下一步:找一个没有下载按钮的视频页点一次猫抓,列表里没想要的就用深度搜索再扫一遍;碰到分片视频,直接进 M3U8 解析器试一次"mp4格式"合并下载。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考