尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Monolith 单文件保存网页详解:把整个网页存进一个 HTML,5 条命令上手
Monolith 单文件保存网页详解把整个网页存进一个 HTML5 条命令上手【免费下载链接】monolith⬛️ CLI tool and library for saving complete web pages as a single HTML file项目地址: https://gitcode.com/GitHub_Trending/mo/monolith用浏览器另存为网页多半存下一个 HTML 加一堆散落的资源文件换台机器打开就图片缺失、排版错乱wget虽然能递归抓取却留下一整个目录树分发和归档都很麻烦。Monolith是一个 Rust 编写的命令行工具把网页连同 CSS、图片、JavaScript 一起嵌入输出一个可离线打开的单文件 HTML——断网双击页面和线上一模一样。_____ _____________ __________ ___________________ ___ | \ / \ | | | | | | | \/ __ \| __ \| | ___ ___ |__| | | | | \ | | | | ___ ___ | | | | |\ /| |__| \__| \___| \___ \___ |__|/ | | | \__/ | |\ | | | | | | | |___| |__________| \___________________|___|___|___|___|_/_|安装 Monolith跨平台任选其一各平台都有官方安装渠道macOS 用 HomebrewArch、Alpine、Void 等 Linux 发行版各有包管理器Windows 可选 Chocolatey 或 Scoop通用方案是 Cargocargo install monolith从源码构建需要先装libssl和 Rust 工具链仓库提供 Makefile执行make install即可发布版本还附带 Windows 与 ARM 架构的预编译二进制。基础用法一条命令保存完整网页核心用法就是给一个 URL 加一个输出文件名monolith https://example.com -o example.html输出文件名还支持%title%和%timestamp%占位符批量保存同一网站时能自动按页面标题加时间戳命名不会互相覆盖monolith https://news.ycombinator.com -o %title%.%timestamp%.htmlMonolith 常用参数速查表高频参数集中在几类取舍上按需组合参数作用-I隔离文档移除外部链接与脚本页面只依赖自己携带的资源-e忽略网络错误部分资源下载失败也继续保存-B/-d配合域名列表做黑名单 / 白名单控制从哪些域名抓资源-i/-c/-j分别去掉图片、CSS、JavaScript换更小的文件-f/-F/-a/-v去掉框架、Web 字体、音频、视频-n展开 NOSCRIPT 元素内容保留不执行 JS 时显示的替代文字-m输出 MHTML 格式不支持内嵌 JS适合邮件附件-C从 Netscape 格式 cookie 文件读取登录态-b指定 base URL处理相对链接配合标准输入时使用-u/-t自定义 User-Agent / 单个资源的网络超时默认 120 秒其中-I和-e最常用前者让归档文件彻底不请求外网后者容忍个别 404 资源保证整页流程不被打断。实战场景批量、动态页与登录页批量归档可以写成几行脚本按 URL 哈希命名避免文件名冲突while read url; do monolith -I -e $url -o saved/$(echo $url | md5sum | cut -d -f1).html done urls.txtMonolith 不带 JS 引擎内容靠接口异步渲染的页面需要无头浏览器先把 DOM 跑完再交给它整理资源chromium --headless --dump-dom https://example.com | monolith - -I -b https://example.com -o example.html-b在这里不能省管道传进来的 HTML 没有原始上下文相对路径的资源全靠它解析出完整 URL。需要登录的页面有两条路。HTTP Basic 认证直接写在 URL 里SPA 式的会话登录则导出浏览器 cookiesNetscape 格式用-C传入monolith https://username:passwordexample.com -o auth.html monolith https://private.example.com -C cookies.txt -o page.html另外两个实用细节-m可输出 MHTML会强制去掉 JS适合发邮件附件遇到字符集识别异常时用-E UTF-8强制指定编码再保存。它是怎么做到一个文件的Monolith 的工作流程可以概括为解析 DOM → 遍历每个资源引用点 → 抓取资源 → 改写为 data URL 回填。图片、音视频经 base64 转成 data URL 写回对应属性JS、JSON 等文本类资源直接内联进文档style和外部样式表里的url()、import会被递归展开字体文件同样内联。重复资源走磁盘缓存避免重复下载。实现是 Rust 的src/core.rs 编排整个流程src/html.rs 负责 DOM 遍历与属性改写src/css.rs 展开样式中的资源引用src/url.rs 处理 URL 解析与 data URL 生成src/session.rs 管网络请求src/cache.rs 管磁盘缓存。tests/目录下的集成测试覆盖了 CSS 嵌入、数据 URL、SRI 校验、GBK/ISO-8859-1 编码等边界场景可以当作行为参考。一句话总结monolith 把一个页面压成一个文件。无论是归档论文网页、保存临时公告还是给同事发离线可开的页面它都比重复开十几个标签页再逐个截图靠谱得多。【免费下载链接】monolith⬛️ CLI tool and library for saving complete web pages as a single HTML file项目地址: https://gitcode.com/GitHub_Trending/mo/monolith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

桌面Agent与RPA有何不同?Crayfish+WorkBuddy容器版实战解析

桌面Agent与RPA有何不同?Crayfish+WorkBuddy容器版实战解析

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

📅 2026/9/11 11:53:51
2025 PCSX2 PS2 模拟器安装教程:零基础 5 步完全上手

2025 PCSX2 PS2 模拟器安装教程:零基础 5 步完全上手

2025 PCSX2 PS2 模拟器安装教程:零基础 5 步完全上手 【免费下载链接】pcsx2 PCSX2 - The Playstation 2 Emulator 项目地址: https://gitcode.com/GitHub_Trending/pc/pcsx2 PCSX2 是目前最成熟的开源 PS2 模拟器,能让你在电脑上重温《战神》《最…

📅 2026/9/11 11:53:51
TimesFM v1 实战指南:基于 1.0-200m 与 2.0-500m 检查点的时序预测、协变量支持与微调全解析

TimesFM v1 实战指南:基于 1.0-200m 与 2.0-500m 检查点的时序预测、协变量支持与微调全解析

TimesFM v1 实战指南:基于 1.0-200m 与 2.0-500m 检查点的时序预测、协变量支持与微调全解析 【免费下载链接】timesfm TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forec…

📅 2026/9/11 11:53:51
MORE NEWS

更多资讯

📰

Gin 运行时如何实现 json.Core 并替换 json.API 而不用构建标签

Gin 运行时如何实现 json.Core 并替换 json.API 而不用构建标签 【免费下载链接】gin Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httproute…

📰

数据安全智能体与等保合规:企业AI落地的安全审计清单

智能体一旦进入生产系统,安全审计的对象就不再是"模型说了什么",而是"智能体做了什么"。等保2.0、176号令与《网络数据安全风险评估办法》叠加之后,合规要求被压缩成三句话:能力要真生效、数据要真保护、证据…

📰

ToolJet Chart 组件 Plotly JSON Chart Schema 实战指南:从 Bar Mode 到九类高级图表配置

ToolJet Chart 组件 Plotly JSON Chart Schema 实战指南:从 Bar Mode 到九类高级图表配置 【免费下载链接】ToolJet Open-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, work…

📰

国产系统(麒麟/统信)上的数据同步:Agent适配要点与实施步骤

在麒麟OS、统信UOS上落地Agent做数据同步,卡点通常不在"能不能跑",而在三件事:时钟是否可信、工具是否原子、数据是否分层管控。本文按"矛盾 → 适配要点 → 实施步骤 → 趋势"梳理一条可执行的路径。一、核心矛盾&#…

📰

PyTorch torch.compile 动态形状进阶指南:0/1 特殊化问题与 Backed / Unbacked SymInts 深度解析

PyTorch torch.compile 动态形状进阶指南:0/1 特殊化问题与 Backed / Unbacked SymInts 深度解析 【免费下载链接】pytorch Tensors and Dynamic neural networks in Python with strong GPU acceleration 项目地址: https://gitcode.com/GitHub_Trending/py/pyto…

📰

从功率训练到智能骑行台:迈金生态设备配置与顽鹿竞技实战指南

如果你最近两年开始认真骑公路车,或者是铁三爱好者,那大概率绕不开两个词:功率训练和虚拟骑行。我自己折腾设备这两年,感触最深的是,国内这套骑行智能硬件生态里,迈金科技几乎把从入门到进阶的坑都补得差不…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬