news 2026/10/16 6:07:34

一键网站下载:5分钟把整站备份到本地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一键网站下载:5分钟把整站备份到本地

一键网站下载:5分钟把整站备份到本地

【免费下载链接】Website-downloader💡 Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js项目地址: https://gitcode.com/GitHub_Trending/we/Website-downloader

参考站点一改版,书签里的页面就变成打不开的残骸——网站下载工具 Website-downloader(基于 Node.js)就是为这种时刻准备的:粘贴一个网址,它会把 HTML、图片、字体、CSS、JavaScript 整站收回来,链接自动转成离线可用的相对路径,最后交给你一个可以直接拷走的 ZIP。

网站下载工具是什么:把在线站点变成离线副本

把网站想象成一家常去的餐厅:首页是柜台,样式是摆盘,图片和字体是菜品与餐具。浏览器的"另存为"只拍得下柜台的照片,离线打开照样散架;Website-downloader 更像仓库管理员,把食材、菜谱、餐具逐件清点打包,搬回家拆箱就能重新开张。一句话,它是把"依赖网络的站点"变成"随时能打开的离线副本"的工具。

网站下载工具安装启动三步走

第一步,准备:确认系统里有 12 以上的 Node.js,以及 wget(macOS 和 Linux 基本自带,Windows 需单独安装)。

第二步,启动:克隆仓库后运行npm install装依赖,再用npm start起服务,浏览器打开 http://localhost:3000,能看到的操作入口只有一个网址输入框和下载按钮。

git clone https://gitcode.com/GitHub_Trending/we/Website-downloader

第三步,操作:填入要抓的站点地址,点下载按钮。页面会持续滚出 wget 的抓取日志,等日志出现 Completed 字样,整站打包完毕,ZIP 已生成到项目的 public/sites 文件夹里,拷走即可。

整站备份能解决的三件实事 🧰

  1. 前端工程师看中某站的布局,把整站拉到本地,在编辑器里全局搜 CSS 和 JS,技术栈与动画实现一眼看穿,不用逐页翻源码;
  2. 技术写作者定期抓取一份关键文档站,日后站点改版甚至关停,硬盘里仍有原汁原味的存档;
  3. 产品经理提前抓好演示站,现场没网时打开本地副本照样演示,全程不依赖会场 WiFi。

整站下载背后的原理

整个过程不复杂:后台先由 Node.js 调起 wget 完成抓取,递归下载、绝对链接转相对、按内容补扩展名一步到位;随后把目录交给 archiver 压成 ZIP。页面滚动的日志,正是服务器经 Socket.IO 实时推送的下载进度。

网站下载常见坑与解决办法

下载慢得像蜗牛。原因是目标站响应慢或文件量大。解法:给 wget 参数追加--limit-rate=1m --wait=2,限制速度并加上请求间隔。

解包后页面只剩空壳。原因是站点纯前端渲染,数据靠 JS 异步加载,wget 只抓到骨架。解法:换用带渲染能力的抓取方案,或手动把遗漏资源的 URL 补进本地目录。

下一步

挑一个最近想留存的站点走一遍流程,拿到第一个 ZIP 后,你就知道离线副本的价值了。更多细节见 README.md。

【免费下载链接】Website-downloader💡 Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js项目地址: https://gitcode.com/GitHub_Trending/we/Website-downloader

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

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

ES查询入门:URI Search与Query DSL对比解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 6:06:26

QQ邮箱网页版下载无法改保存路径?根因与浏览器设置有关

你在网页版邮箱里收到一份重要文档,点下载,文件“嗖”一下进了某个文件夹,找半天才翻出来。等你打开设置想换个默认保存位置,却发现整个邮箱页面翻遍了也没有这个选项。这个问题我在不同场合被问过很多次:QQ邮箱网页版…

作者头像 李华
网站建设 2026/10/16 6:06:00

AI编程革命:从写代码到做决策,开发者如何抓住新机会

1. 这场变革为什么来得比想象中更猛两年前,圈子里开始流行"AI取代程序员"的论调,当时大多数人当段子听。直到某天我接手一个遗留系统,面对两千多个无人维护的接口方法,第一次认真思考:这个活如果是五年前&am…

作者头像 李华
网站建设 2026/10/16 6:05:01

现场总线实战指南:物理层、协议栈与工程落地关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 6:04:33

uniapp 换行问题全解析:从 textarea 到 CSS 渲染的跨端实践

做 uniapp 项目的时候,几乎每个阶段都会遇到跟换行相关的问题:textarea 里明明按了回车,提交后存到库里再看却只剩一行;后端返回的字符串里明明带着\n,页面上偏偏不换行,英文和数字挤成一大坨;小…

作者头像 李华