5分钟离线保存任意网站:用 Website-downloader 整站下载完整源码与资源

发布时间:2026/8/21 17:39:34
5分钟离线保存任意网站:用 Website-downloader 整站下载完整源码与资源 5分钟离线保存任意网站用 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上个月我接了个小活儿帮朋友把一个即将下线的企业官网完整备份下来。原以为打开浏览器另存为就行结果保存下来的页面打开全是乱码——CSS 没抓到、图片全裂、JS 直接失效页面像被撕碎了一样。折腾到凌晨我才找到 Website-downloader 这个基于 Node.js 的整站下载工具输入网址、点一下按钮几分钟后它就把整个网站的 HTML、CSS、JavaScript 和图片全部抓下来自动转成相对路径再打包成一个 ZIP 交到我手上。今天就把这条我踩过坑的路完整讲给你听。拿到这个工具你能立刻得到什么一次抓全不止保存单个页面而是递归下载整个站点HTML、样式表、脚本、图片一个不落离线可用所有链接自动转成相对路径断网也能完整浏览样式不再错乱一键打包下载完自动压缩成 ZIP方便存储、分享、归档进度可见网页上实时刷新下载状态和文件数量不用干等瞎猜如果你平时需要备份网站、研究别人家的页面实现或者给演示准备离线素材下面这套操作你照着做就行。从安装到拿到 ZIP 包完整走一遍第一步确认环境这个工具运行在 Node.js 上下载靠的是 wget所以先确认两样东西装好了node -v wget --version两个命令都有输出就说明环境没问题。缺哪个就去官网装对应版本这里不赘述。第二步拉取项目并安装依赖git clone https://gitcode.com/GitHub_Trending/we/Website-downloader cd Website-downloader npm install执行npm install后npm 会根据 package.json 自动拉取 express、socket.io、archiver 等依赖看到进度条跑完、没有红色报错就说明装好了。第三步启动服务npm start启动成功后终端会提示服务已监听打开浏览器访问http://localhost:3000就能看到操作界面——一个输入框加一个下载按钮非常简洁。第四步输入网址等待打包在输入框里粘贴你要下载的网址记得带https://前缀点下载按钮。接下来页面会实时滚动 wget 的输出日志你能看到它在解析域名、逐个请求页面和资源右上角还会统计已下载的文件数量。下载完成后界面会提示Compressing completed successfully然后自动把整个网站目录压缩成 ZIP。文件保存在public/sites/目录下点界面上的下载按钮就能拿到手。整条链路其实就三个核心模块在协作wget/index.js负责用wget -mkEpnp --no-if-modified-since递归抓取资源socket/socket.js负责把进度实时推送到浏览器archiver/index.js负责把抓下来的目录以最高压缩级别打成 ZIP。想深入了解可以去翻这三个文件。让体验更好的三个进阶玩法1. 关掉缓存判断抓取更完整项目默认带了--no-if-modified-since参数忽略服务器的未修改判断、强制拉取资源避免漏文件。如果某些站点还是抓不全可以在wget/index.js里手动追加参数比如限制并发数、排除掉大体积的媒体文件类型。2. 用 token 机制隔离多用户任务浏览器端会根据本地 token 监听各自的下载事件相关逻辑在views/layout.hbs里。这意味着同一台机器上多人同时下载也不会互相干扰每个任务独立反馈进度。多任务并行时这个设计很省心。3. 断连自动清理不占磁盘socket/socket.js里处理了用户断开连接的情况会终止 wget 进程并删除未下载完的临时文件。想手动清理残留直接删掉项目根目录下以域名命名的文件夹以及public/sites/里过期的 ZIP 就行。用它之前 vs 用它之后场景之前之后保存单个网页另存为只存 HTML样式图片全丢页面结构、样式、脚本、图片完整保留离线浏览打开缓存页面到处是裂图链接全转相对路径断网照样正常显示分享给他人一堆散乱文件还要解释路径一个 ZIP 打包带走解压即用备份整个站点手动一页页存费时费力输入网址等待自动抓取、压缩有几件事提前知道能少走弯路它下载的是公开可访问的内容需要登录、有反爬限制的网站默认情况下抓不全这类需求得配合 cookie 等高级手段具体以项目官方文档为准大型站点会很慢、很占空间几百上千页的网站下载和压缩都需要时间磁盘也要留足空间建议先下载浅层页面确认效果再逐步深入动态渲染的内容可能缺失纯前端 JS 动态生成的内容wget 抓取的是初始 HTML这类页面表现可能不完整注意版权整站下载只建议用于自己有权备份的站点或个人学习别拿去做商业用途也要尊重目标网站的 robots.txt现在就去备份你的第一个网站从输入网址到拿到完整 ZIP全程不需要写一行代码这就是 Website-downloader 最打动我的地方。别等到网站下线、资料丢失才后悔——打开终端克隆项目npm install npm start然后把你最想保存的那个网站扔进去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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考