Monolith 快速上手:把整个网页保存为单个离线 HTML 文件

发布时间:2026/9/11 4:20:19

Monolith 快速上手:把整个网页保存为单个离线 HTML 文件 Monolith 快速上手把整个网页保存为单个离线 HTML 文件【免费下载链接】monolith⬛️ CLI tool and library for saving complete web pages as a single HTML file项目地址: https://gitcode.com/GitHub_Trending/mo/monolithMonolith 是一个用 Rust 编写的命令行工具可以把网页连同它的 CSS、图片和 JavaScript 一次性抓下来全部以 data URL 的形式内嵌进文档最终产出一个自包含的 HTML 文件。保存完成后断开网络浏览器依然能按在线时的样子渲染这个页面适合做资料归档、离线阅读和设计参考备份。Monolith 能解决什么问题浏览器自带的另存为网页通常只会下载主文档加上一堆散落的资源文件换个目录打开就丢样式。Monolith 的做法是把资源直接编码进 HTML一个文件走天下归档把经常打开的网页变成磁盘上一个个独立的.html备份保留页面原始的字体、图片和脚本不依赖原站点持续存在分发单个文件发给别人对方不需要网络或额外文件夹安装 Monolith根据你使用的包管理器任选一条命令cargo install monolith brew install monolith choco install monolithLinux 上也可以走发行版自带的渠道snap install monolith pacman -S monolith apk add monolith如果想从源码构建环境需要先装好 cargo 和 libssl 依赖git clone https://gitcode.com/GitHub_Trending/mo/monolith cd monolith make install最小命令保存第一个网页monolith https://example.com -o example.html命令结构就两段目标地址加-o指定输出文件。目标参数支持三种形式URL、本地 HTML 文件路径、以及用-表示从标准输入读取-o同样可以传-表示输出到 stdout。输出文件名里可以写两个占位符见 README.md 中的用法示例monolith https://example.com -o %title%-%timestamp%.html%title%取页面标题%timestamp%是保存时间戳批量保存时文件不会互相覆盖。处理本地 HTML 文件如果页面文件已经在本地把路径直接作为目标传入即可Monolith 会把同目录下的 CSS、JS、图片等资源一并内嵌monolith ./page.html -o page-offline.html已经拿到 HTML 文本但资源还在原站的情况用管道输入并用-b告知原始地址方便解析相对路径cat page.html | monolith - -b https://some.site/ -o page-full.html常用参数控制嵌入哪些资源完整参数说明见 src/main.rs 中的 CLI 定义日常用到的主要是这几个-I隔离文档保存后的页面不再向网络发起请求彻底离线-i/-j/-c排除图片、JavaScript、CSS-F/-a/-v排除字体、音频、视频-m改用 MHTML 格式输出该格式不允许 JS会自动跳过-M不写入保存时间和来源 URL 等元信息-n把noscript标签替换为其中的内容白名单与黑名单限定资源来源用-d列出允许的域名再加-B这些域名就变成黑名单。比如只从页面自身域名取资源跳过第三方统计和广告脚本monolith -I -d example.com -d www.example.com https://example.com -o example-only.html反过来把.googleanalytics.com之类写进黑名单也很常见命令结构相同只是去掉白名单语义。保存需要登录的页面基础认证直接把账号密码写进 URLmonolith https://username:passwordexample.com -o saved.html需要携带已有登录态时用-C指定 cookie 文件src/cookies.rs 负责解析monolith -C cookies.txt https://example.com -o saved.html配合无头浏览器处理动态页面Monolith 本身不带 JavaScript 引擎首屏之后才渲染出的内容它拿不到。这类页面可以先用无头浏览器导出渲染后的 DOM再交给 Monolith 补全资源chromium --headless --dump-dom https://example.com | monolith - -I -b https://example.com -o example.html排错建议部分资源下载失败加-e忽略网络错误继续保存其余资源不受影响遇到自签证书报 TLS 错误加-k接受无效证书请求太慢或整体超时用-t调整单次网络请求的超时秒数默认 120 秒目标站点拦截了默认请求头用-u换成真实浏览器的 User-Agent保存出来中文乱码用-E强制指定字符集例如-E UTF-8需要走代理设置https_proxy、http_proxy、no_proxy环境变量后照常执行Monolith 把一个页面、一个文件变成了可复制、可脚本化的日常操作先按上面的最小命令跑通一次再根据保存对象补充-I、域名过滤或无头浏览器管道。更多场景可以在 tests/ 目录下的测试用例里找到对应命令的实际写法。【免费下载链接】monolith⬛️ CLI tool and library for saving complete web pages as a single HTML file项目地址: https://gitcode.com/GitHub_Trending/mo/monolith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/11 4:20:19

Claude 3模型能力边界与工程接入实战指南

/* 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 4:20:19

阿里开源Agent实战:AgentScope与Qwen-Agent选型、设计与避坑

刚开始接触Agent那会儿,我真的很头疼。LangChain那套工具调用链,写的时候感觉挺好,一跑就各种失控——模型不按套路输出、工具参数乱传、上下文一长就晕头转向。直到我把阿里开源的几个Agent项目翻出来认真用了一遍,才算是找到了顺…

2026/9/11 4:20:19

图像生成Gateway设计与实践:参数适配、重试与幂等全解析

1. 当业务代码直接拥抱图像生成API:混乱是从哪一步开始的过去半年做文生图业务的后端改造,我最大的感受是:图像生成这种服务,和普通HTTP接口完全不是一个物种。一个文生图请求动辄5秒到30秒,一次生成可能消耗大量计算资…

2026/9/11 5:15:24

WorkBuddy AI Agent 工作台:从安装配置到 Skill 实战与避坑指南

/* 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 5:15:24

Excel转CSV自动化实战:LibreOffice、PowerShell与Python方案全解析

/* 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 5:15:24

.NET技术栈演进与核心开发领域解析

1. .NET技术栈的十年演进图谱2002年微软首次发布.NET Framework时,它只是一个Windows平台的托管代码框架。而今天,当我们谈论".NET"时,它已经演变成一个包含运行时、编译器、语言、工具链和丰富生态的完整技术体系。这十年间最关键…

2026/9/11 5:10:24

用Typora和Mermaid绘制甘特图:轻量级项目管理实战

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

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码