猫抓资源嗅探完全指南:3 步把网页视频存进本地
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
想把网页上的视频存到本地,结果右键菜单是灰的,开发者工具里是一片看不懂的日志,录屏软件录出来又糊又卡。这是看网课、追连载的人几乎都撞过墙的场景。猫抓(Cat-Catch)是一款开源免费的浏览器资源嗅探扩展:它能把页面实际加载过的视频、音频、图片资源整理成一张清单,你点几下鼠标就能把目标文件下载到本地。这篇文章按"原理、上手、流媒体、排障"的顺序,一次讲清楚。
资源嗅探到底在做什么
你在网页上看到的视频,并不是服务器一次性递给你一个完整文件,而是把数据切成一包一包,浏览器边收边拼边播放。资源嗅探干的事,就是把这些"包裹"在递送途中记录下来,再分辨出哪些是视频、哪些是音频。
猫抓同时用两条通路。一条是后台监听:每一次经过浏览器的网络请求都会记入流水,代码入口在js/background.js;另一条盯着页面上真实存在的媒体元素,核心逻辑在catch-script/catch.js。前者能抓到"页面加载了但没展示出来"的资源,后者能确认正在播放的视频地址。
这也解释了为什么"先让视频播起来,再打开工具"成功率更高。数据没开始递送,流水账自然是空的。
三步拿到第一个视频文件
第一步,装上它。三种方式任选一种:
- 应用商店:在 Chrome、Edge 或 Firefox 的商店里搜索"Cat-Catch",一键安装;
- 源码安装:用
git clone https://gitcode.com/GitHub_Trending/ca/cat-catch把代码拉到本地,在扩展管理页打开开发者模式,点"加载已解压的扩展程序"选中目录; - crx 安装:从项目 Releases 页下载 crx 包,打开开发者模式后把文件拖进扩展页面。
第二步,等视频播起来。打开任意带视频的页面,让它至少播放两三秒、画面出现后,点浏览器工具栏上的猫抓图标。弹出的面板里已经列好这个页面加载过的全部媒体资源,大小、类型、分辨率都标在行上。
第三步,先预览再下载。点资源前的播放图标做预览,确认内容没错,再选中这条资源点下载。完成后文件就在本地了。
这个弹窗面板是主战场:上面是资源标签页,中间是文件清单,底下接着预览播放器和操作栏,批量选择、按格式筛选、复制链接都摆在同一屏里,不用来回切页面。
M3U8 解析器参数怎么调最快
不少视频站点不会直接递出一个完整文件,而是把视频切成几十甚至上百个小片段,再用一个叫 M3U8 的文件当"目录",告诉浏览器每段放在哪、按什么顺序播。直接下载 m3u8 文件拿到的只是目录本身,就像只拿到电影海报却没拿到影片。
猫抓的 M3U8 解析器做的事,就是把目录读明白、按目录把每一段取回来、再拼成一个能直接播放的文件。用法三步:从页面上复制那条 m3u8 链接 → 打开 M3U8 解析器页(m3u8.html)粘贴进去 → 解析器列出分片、总时长和分辨率,确认后直接下载。
页面里有几个参数值得弄懂:
- 自定义密钥:流媒体加密时需要填 key,缺了它下载下来的文件放不出来;
- 下载线程数:默认 6 条,多数家用网络调到 8 到 12,总耗时会明显缩短;
- 在线 ffmpeg 转码:把最终合并这一步交给远端 ffmpeg,省本地算力;
- 交给 m3u8DL 或 ffmpeg 处理:给进阶用户留的后门,解析器可以直接生成现成命令行,复制即用。
解析与下载的实现分布在js/m3u8.js(M3U8)和js/mpd.js(DASH/MPD,另一类更复杂的流媒体协议)。站点播 DASH 时,改用 MPD 解析页走同样的流程即可。
最容易卡住的五个地方
资源列表里没有我要的那条。多数情况不是工具坏了,而是动态加载的资源要等请求真正发出之后才会入册。让视频多播几秒再打开面板;还没有,就刷新页面重新放一遍。
M3U8 下载特别慢,先看什么?按顺序排查三件事:线程数是不是开太低、单个分片切得是不是太大、网络本身有没有被限速。先把线程数调到 8 到 12;如果源头站点切段本身就很大,本地能做的调整就很有限。
并发是不是开得越满越快?不一定。并发拉满之后,内存和磁盘读写都会先吃紧,同时下多个文件时更容易整体卡住。稳定优先,能一直匀速跑完比峰值快更重要。
能嗅探是不是就能随便下载?不是。只下载你拥有版权或已获授权的内容。项目维护一份"避免抓取列表":网站所有者不希望在自家域名上运行这个工具,可以在仓库提交一个标题为[Opt-Out Request] 你的域名的 Issue,维护者会在后续版本里把该域名排除。
总听人说有"伪猫抓",怎么避?项目是开源的,任何人都能拿源码重新打包上架,商店里确实混进过夹带广告代码的版本。认准官方渠道发布的版本即可。猫抓本身所有数据都在本地处理,不上传任何信息到远程服务器。
写给想看代码的人
想弄清它是怎么运转的,从这几个入口进:
js/background.js:网络请求监听的入口,看懂嗅探流程的起点;catch-script/catch.js:页面端嗅探核心,资源识别逻辑都在这里;js/m3u8.js与js/mpd.js:两类主流流媒体协议的解析与合并实现;js/popup.js:主弹窗面板的交互逻辑,配合界面样式一起读最顺;_locales/与tools/sync-locales.js:十种语言的文案文件和同步小工具,想帮忙翻译从这里开始。
界面已有中、英、日、韩、西、葡、俄、土、越等语言版本,不懂英文也能顺畅操作。遇到问题或有改进建议,直接到项目仓库提交 Issue 就行,维护者和社区都很活跃。
回到开头那个场景:一整套课程,在面板里全选、逐个下载,合上电脑时它们已经躺在本地目录里,通勤和飞行途中都能离线看完。工具的价值不在功能清单有多长,而在替你省掉了多少本不必走的弯路。
如果你也常有"把网页视频留下来"的需求,现在就可以装上它,打开一个视频页面,看看流水账里都记了什么 🐱
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考