news 2026/8/21 19:27:59

告别“右键另存为“!ResourcesSaverExt:一键下载网页全部资源,目录结构原样保留

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别“右键另存为“!ResourcesSaverExt:一键下载网页全部资源,目录结构原样保留

告别"右键另存为"!ResourcesSaverExt:一键下载网页全部资源,目录结构原样保留

【免费下载链接】ResourcesSaverExtChrome Extension for one click downloading all resources files and keeping folder structures.项目地址: https://gitcode.com/gh_mirrors/re/ResourcesSaverExt

如果你经常需要把网页上的资源"搬"回本地——CSS、JS、图片、字体,甚至跨域文件——那你一定体验过手动逐个另存为的痛苦。ResourcesSaverExt 是一款 Chrome 扩展,它的核心能力只有一句话:一键下载当前网页的全部资源文件,并原样保留文件夹结构。打开 DevTools 面板,点一下按钮,整个页面的"零件"就整整齐齐地落到你电脑里。

先讲一个让人血压升高的场景 💥

深夜十一点半,前端小赵接到一个需求:分析某竞品官网的动画实现,把它的 CSS 和 JS 全部扒下来研究。

他打开 DevTools,数了数 Network 面板——好家伙,光 JS 就四十多个文件,还有几十张图片、字体、SVG。他深吸一口气,开始一个文件一个文件地"右键 → Save as"。存到第 23 个文件时,他发现自己犯了个致命错误:存下来的文件全部堆在同一个下载文件夹里,原来的层级关系完全丢了。有一处 CSS 里引用了../fonts/icon.woff2,现在根本对不上号。

他瘫在椅子上,看着满屏乱糟糟的文件名,心里只有一个念头:有没有一种工具,能让这件事变成"一次点击"?

这就是我第一次见到 ResourcesSaverExt 时的处境。如果你也经历过"下载一时爽,整理火葬场",接下来的内容应该能帮你省下大量时间。

它到底是怎么"记住"所有资源的?🔍

说实话,第一次打开它的时候,我有点被惊到。它不是一个挂在工具栏上的普通扩展,而是一个直接嵌在 Chrome DevTools 里的独立面板,叫ResourcesSaver

它的工作方式也很聪明,双通道并行:

  • 静态资源:通过inspectedWindow.getResources把页面已经加载的 HTML、CSS、JS、图片全部登记在案;
  • 网络请求:实时监听Network面板的 HAR 记录,页面加载过程中发出的每一个请求都不会漏掉,包括那些藏在代码里的懒加载资源。

换句话说,你看到页面渲染出来的那一刻,它已经把"幕后功臣"全部列好了清单。

面板顶部会实时显示两类资源的数量,静态资源多少、网络请求多少,一目了然。确认无误后,点下蓝色的Save All Resources按钮,剩下的交给它。

实测 30 分钟:从克隆到第一次打包下载 ⚡

说一百遍不如自己跑一遍。整个上手过程比我预想的短得多,大概三步。

第一步:克隆项目并安装依赖

git clone https://gitcode.com/gh_mirrors/re/ResourcesSaverExt.git cd ResourcesSaverExt yarn install

注意一点:Node.js 版本要和项目里的.nvmrc保持一致,否则构建可能报错。装好依赖后执行构建:

yarn build

构建产物会自动输出到项目根目录的unpacked2x文件夹里。

第二步:以"本地扩展"方式加载

打开 Chrome,地址栏输入chrome://extensions/,打开右上角的"开发者模式",点"加载已解压的扩展程序",选中刚才的unpacked2x文件夹,搞定。

第三步:打开任意网站,去 DevTools 里找它

按 F12 打开 DevTools,你会看到多出一个 "ResourcesSaver" 标签页。切进去,访问目标网站,等资源清单刷出来,点保存。

实测结果:我在一个资源偏多的资讯站上试了试,100 多个文件,从点击保存到 ZIP 下载完成,也就几十秒。而如果用手动方式,这个工作量够我点一下午鼠标。

下载下来的东西,跟你在浏览器里看到的"一模一样" 🎯

这是它最让我惊喜的地方,也是它和"网页另存为"本质不同的地方。

普通方式存下来的是一堆平铺文件,引用关系全断;ResourcesSaverExt 会把资源按原始 URL 路径重组文件夹结构。比如https://example.com/assets/css/main.css下载后就是assets/css/main.css,目录嵌套、文件命名,跟服务器上完全一致。CSS 里引用的../fonts/../../img/这些相对路径,下载后依然对得上,拿下来就能直接用。

再深挖一下,会发现它还处理了不少"脏活":

  • URL 解析:它会解析每个资源的真实路径,去掉查询字符串,给没有扩展名的文件按内容类型补上.css.js.html后缀;
  • Data URI 识别:内联在代码里的 base64 图片会被单独提取出来,而不是被当成乱码丢掉;
  • 重复资源去重:同一 URL 在静态资源和网络请求里被记录两次时,自动去重;万一真出现同名文件冲突,也会智能重命名避免覆盖;
  • 跨域资源webpack://ng://这类特殊协议源也能处理,跨域文件不在话下;
  • ZIP 打包:所有文件最终压成一个 ZIP 下载,不会让你手动保存几十个文件。

如果一次要分析多个网站,面板里还有 "Add URLs" 按钮,弹出解析窗口输入 URL 列表,它就会逐个页面抓取,循环打包。

几个值得点赞的小细节 ✨

用久了才发现,这个扩展的很多体贴藏在细节里,不是"能跑"那么简单。

① 代码美化,下载即阅读

下载的文件在写入 ZIP 之前,可以用 Prettier 自动格式化。开启"Beautify HTML, CSS, JS, JSON files"选项后,压缩成一行的混淆代码会被重新排版成整齐的可读格式。对想研究别人代码的人来说,这一步省去了打开后手动 beautify 的麻烦。

② 忽略空文件,告别垃圾数据

有些请求返回的是空 body 或纯占位符,开启"Ignore no content file"后,这类文件会被直接跳过,下载包里不会出现一堆毫无价值的空文件。

③ 下载日志,成功失败一目了然

每次下载都有完整日志记录,并按Success / Fail / No Content三档分类。哪些文件没抓到、为什么没抓到,一目了然,排查问题不用靠猜。

④ 深色主题,熬夜党的福音

界面自带深色主题,配色舒服不刺眼,长时间盯着分析代码也不会觉得疲劳。说实话,这一点对经常晚上工作的开发者来说,体验提升是实打实的。

还能玩出什么花样?🛠️

除了常规用法,这个项目还藏着一些进阶玩法。

项目里有一个auto.js,配合auto.json里的 URL 列表,可以用 Puppeteer 做全自动批量抓取——无头浏览器挨个访问站点、自动收集网络响应、按域名建目录落盘。如果你有 CI/CD 流程,或者想定时扒一批网站资源做素材库,完全可以把它接进自动化管线。

另外,扩展内部还保留了 0.1.8、0.1.9 等历史版本的界面资源,可以在面板里切换旧版界面。对喜欢折腾的人来说,这也是个不错的"考古"彩蛋。

写在最后 🌙

回到开头那个深夜加班的场景。如果小赵当时装了 ResourcesSaverExt,他需要做的只是:打开 DevTools → 切到 ResourcesSaver 面板 → 点一下 Save All Resources。然后他就可以去泡杯咖啡,回来看一眼下载日志,拿着结构完整的资源包开始研究竞品的实现。

工具的意义,从来不是让你变得更忙,而是把那些重复、琐碎、毫无技术含量的劳动压缩成一次点击,让你把时间花在真正重要的地方。

下次再看到"值得学习"的网站,别再一个文件一个文件地右键了。装好 ResourcesSaverExt,让一键下载网页资源成为你的肌肉记忆——你会发现,收藏夹里那些"改天再研究"的网站,终于到了兑现的时候。

【免费下载链接】ResourcesSaverExtChrome Extension for one click downloading all resources files and keeping folder structures.项目地址: https://gitcode.com/gh_mirrors/re/ResourcesSaverExt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 19:26:42

Spring Boot集成Apollo配置中心:从Docker部署到动态刷新实战

最近在开发一个分布式配置中心项目时,遇到了一个典型问题:不同环境(开发、测试、生产)的配置项混杂在同一个文件中,每次发布都心惊胆战,手动修改极易出错。配置管理一旦失控,轻则功能异常&#…

作者头像 李华
网站建设 2026/8/21 19:26:33

AI Agent求职指南:从技术概念到工程落地的技能转型

1. 先看清“Agent大厂秋招招聘量减少”到底在说什么 这个话题最近讨论得挺多,核心就一句话:今年秋招,那些做AI Agent的大公司,招人的数量可能会比往年要少;而中小公司,可能干脆就不怎么招了。 这听起来像是…

作者头像 李华
网站建设 2026/8/21 19:26:32

Pytest 测试用例执行顺序自定义 Pytest-ordering

一. 简介Pytest-ordering 是一个 Pytest 插件,可自定义 Pytest 测试用例的执行顺序。这对于确保特定的测试用例在其他测试用例之前或之后运行非常有用。1.1 使用场景对于集成测试,经常会有上下文依赖关系的测试用例。比如 10 个步骤,拆成 10…

作者头像 李华
网站建设 2026/8/21 19:26:28

Pytest 插件

一. Pytest 插件简介Pytest 插件是 Python 包或模块,可以提供额外的功能、自定义行为或报告,可以根据项目的需求选择并使用不同的插件。1.1 Pytest 常用的插件🔹 控制用例的执行顺序(重点):pip install p…

作者头像 李华
网站建设 2026/8/21 19:25:26

算力资源整合

1、出租: 出租pro6000D ,5090 ,各128台,3-5年闭口 另有租赁现货B300、pro6000d、5090、4090、H800、pro6000、910b2 另有910b4(期货) 2、出售: 4090 3、期货租赁: 有H200 256台 4…

作者头像 李华
网站建设 2026/8/21 19:25:17

2026年新疆做智慧排水监测系统的公司前10名有哪些?

乌鲁木齐一月份凌晨的气温能跌破零下二十五度,路面上的积水在冻胀作用下反复结冰、开裂,然后又被往来车辆碾碎——这些水往往不是来自融雪,而是来自冻土层深处破裂的排水管道。新疆的排水难题,从来不在七月的暴雨里,而…

作者头像 李华