☰
一个网址换一份完整离线备份:Website-downloader 整站下载快速上手
2026/10/16 2:01:03 网站建设 项目流程

一个网址换一份完整离线备份:Website-downloader 整站下载快速上手

【免费下载链接】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 小服务,专门干整站下载这一件事。丢给它一个网址,它会顺着站点内链接把页面、图片、样式、脚本递归抓全,最后打包成一个 zip。想留哪份站点,一条命令就能拿到本地可离线打开的完整拷贝。

1 分钟搭起来 ⏱️

环境依赖两样:Node.js,以及系统里装好的 wget(Windows 用户建议走 WSL 或 Git Bash,macOS/Linux 多数自带或有包管理器可装)。

  1. git clone https://gitcode.com/GitHub_Trending/we/Website-downloader
  2. cd Website-downloader后执行npm install
  3. npm start
  4. 浏览器打开http://localhost:3000/,在输入框填入目标网址,点按钮即可

背后是怎么跑的 🔍

整个流程就是「下载、打包、推送」三段接力:

环节白话说明
wget/index.js以子进程方式执行wget -mkEpnp,按站内链接图递归抓取,并把页面与 CSS 里的绝对链接改写成相对路径,保证断网跳转也能通
archiver/index.js抓取结束后用最高压缩等级(zlib level 9)把目录压成单个 zip,输出到public/sites/下
socket/socket.js通过 socket.io 把 wget 的实时日志逐行推到浏览器,你在页面上看到的进度就是这么来的

里面最值得注意的开关是--no-parent:它让递归只发生在指定站点内部,不会顺着上级目录往外扩,省得把无关页面也抓进来。

适合用在哪些场景

  • 重要站点可能关停前:把关注多年的博客、文档站提前整站备份一份,关站了本地照样能看
  • 长途出差或航班途中:把要用的教程、资料离线打包好,没信号也能翻
  • 开发调试:直接读抓下来的本地 HTML 和资源路径,分析结构不依赖线上环境
  • 课程页面归档:整站存成压缩包发出去,学员复习不受网络波动影响

用得顺手的小贴士 💡

  • wget 不是 npm 依赖,装完npm install后如果提示找不到 wget,先在系统层面装好再启动
  • 生成的 zip 落在public/sites/目录,下载完成后直接去拿文件即可
  • 抓取大站点耗时和磁盘占用都可观,建议先确认目标站点的链接规模再动手
  • 命令里带了--no-if-modified-since,重复下载同一站点会完整重抓而不走缓存,想覆盖旧镜像时正好用得上
  • 进程中断时有清理逻辑会删掉半截下载的文件,失败后重新发起即可,不用手动收拾

用顺手之后,下次遇到想长期保留的站点,丢个网址进去,过一会儿就能多一份放在硬盘里的离线副本。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询