☰
一键整站打包到本地:Website-downloader
2026/10/16 2:34:37 网站建设 项目流程

一键整站打包到本地: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 的网站下载工具,输入网址,它就把整站的 HTML、CSS、JS、图片、字体全部抓回来,打包成一个ZIP。我拿它抓了一个技术博客,解压双击打开,页面和线上几乎一模一样,一张图都没缺。

上手体验:5 分钟整站打包到本地

我打开终端,把项目拉下来装好依赖:

git clone https://gitcode.com/GitHub_Trending/we/Website-downloader cd Website-downloader && npm install && npm start

然后浏览器打开 http://localhost:3000。页面上只有一个地址栏和一个Download按钮,没有任何多余配置。我粘上一个博客地址,点下下载,页面下方开始滚动日志,文件数一个个往上跳。几分钟后日志走完,ZIP已经躺在public/sites/目录里,随时可以拷走。

它是怎么干活的:wget 镜像背后的两步戏

说穿了就两步:第一步wget干重活,第二步Socket.IO把日志一行行推到页面。五个参数各管一段,-m递归镜像、-k转相对链接、-E补扩展名、-p抓必需资源、-np防止跑出站点。抓完交给 archiver 压成 ZIP。

exec(`wget -mkEpnp --no-if-modified-since ${data.website}`)

核心逻辑在 wget/index.js,代码量很小,想魔改很好下手。

我拿它干成的三件事

我有一次看到一个很喜欢的版式,直接把整站抓下来,用编辑器全局搜索CSS和JS,实现思路一眼看穿,比一页页翻源码快多了。

我还有把一份技术文档站存成了离线存档丢进移动硬盘,哪天站点改版关停,硬盘里还有份没坏的。

还有一次给客户做产品演示,怕现场网络不给力,提前把演示站打包成本地版,会上点哪儿都有响应,全程没卡过一下。

用久了会调的几个参数

目标站慢的时候,加限速和间隔,省得给人家服务器添压力:

wget -mkEpnp --limit-rate=1m --wait=2 http://example.com

网络不太稳的时候,加自动重试,让失败请求自己补上:

wget -mkEpnp --tries=3 http://example.com

站点里有不想要的大目录(比如api),用排除规则直接跳过:

wget -mkEpnp --exclude-directory-regexp=api http://example.com

改参数只需要动 wget/index.js 里那一行命令。

下次再看到想存下来的站点,别再一页页另存为了——把地址丢给它就行。几分钟后ZIP就在public/sites/里等着,解压双击,就是你一直想要的离线副本。用了一段时间,我只想说一句:早知道就好了。

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

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

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

立即咨询