一键把任意网站完整下载到本地:超好用的网站下载工具
【免费下载链接】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 文件,一次搞定。
一句话:它是网站的"搬家师傅"
你可以把它理解成专门给网站搬家的师傅:你只需要说一句"我要搬这个地址",它就上门把整屋家当——从页面骨架到图片样式——原封不动地装进一个行李箱(ZIP),拎到哪儿都能重新"开门营业"。不用配环境、不用学爬虫、不用研究命令行参数,一个网页输入框就是全部操作入口。页面正中干干净净,只有一个地址栏和一个下载按钮,老奶奶看了都会用。
3 步把网站完整打包下载到本地
第一次上手比我预想的快,全程也就五分钟:
第 1 步:把项目拉到本地。前提是机器上有 Node.js(12 以上)和 wget(Linux/macOS 通常自带,Windows 装一个对应版本即可)。然后在终端里执行:
git clone https://gitcode.com/GitHub_Trending/we/Website-downloader cd Website-downloader npm install npm start第 2 步:打开浏览器。访问 http://localhost:3000,你会看到一个极简界面,没有任何多余的配置项。
第 3 步:粘贴网址,点下载。输入目标站点的地址,点击下载按钮。页面上会实时滚动 wget 的输出日志,你能亲眼看着它解析域名、逐个抓取文件、刷新下载数量。等日志末尾出现 "Completed",说明打包完成,ZIP 已经躺在 public/sites/ 目录里,直接拷走就能用。
我拿自己的一个技术博客试了试,几百个文件几分钟抓完,压缩包解开后离线双击 index.html,页面和在线时几乎一模一样,图片全在、样式没丢、链接都能点。
这几个场景,它都替你干完了
学代码,看别人的实现。看到心仪站点的布局和动画想研究,不用一页页翻源码,直接整站拉下来,用编辑器全局搜索 CSS 和 JS,技术栈、实现思路一目了然。很多前端爱好者就是这么积累设计灵感的。
做备份,留一份离线副本。重要的技术文档站、产品说明页,定期抓一份存在本地。哪天网站改版、关停,你的硬盘里还有一份原汁原味的存档,比收藏夹里的死链接可靠得多。
跑演示,没网也能讲。给客户或团队演示功能时,网络永远是最不可控的变量。提前用这个网站下载工具把演示站整站搬下来,会议现场直接打开本地副本,点哪儿都有响应,顺畅得跟在线上一样。
背后的门道:一条命令加一次连接
它没有多高深,核心就两步。第一步,Node.js 在后台执行一条 wget 命令,这一行把大半的活都干完了:
exec(`wget -mkEpnp --no-if-modified-since ${data.website}`)五个参数各管一件事:-m镜像模式递归抓取全站;-k把绝对链接转成相对链接,保证离线能打开;-E按内容类型补全文件扩展名;-p拉取页面必需的图片和样式;-np不往上层目录爬,防止跑出站点范围。第二步,通过 Socket.IO 建立一条实时通道,把 wget 的输出一行行推到浏览器:
io.emit(data.token, { progress: responseText });所以你在页面上看到的滚动日志,就是服务器正在发生的真实抓取过程。等抓取结束,项目再把整个目录交给 archiver 压成 ZIP,一条龙收工。整个过程代码量不大,想二次开发也容易下手。
三个容易踩的坑,提前帮你排掉
下载慢得像蜗牛。目标站响应慢或者文件太多,可以在 wget 参数里补上--limit-rate=1m --wait=2限个速、加个间隔,既降低压力,也避免给人家服务器添堵。
部分资源缺失。如果页面是纯前端渲染,数据全靠 JavaScript 异步加载,wget 抓回来的可能只是空壳。遇到这种站,要么换支持渲染的抓取方案,要么手动把遗漏的资源链接补进本地目录,也能凑合救回来。
链接转换出问题。个别站点 URL 结构复杂,转换后可能有零星链接失效。别慌,用编辑器对 HTML 做一次全局搜索替换,或者直接在本地文件夹里调整目录结构,几分钟就能修好。
下一步,去抓你的第一个站点
别再一页页另存为了。装好依赖、启动服务,把这个网站下载工具当成你的"网站收藏夹",看到值得研究或需要留底的页面,一键整站打包。等你拿到第一个 ZIP,大概会跟我一样冒出"早知道有它就好了"的念头。
【免费下载链接】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),仅供参考