ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Monolith 完整保存网页为单个 HTML 文件:从安装到批量归档的完整指南

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 是一款命令行工具能把整个网页打包成一个单独的 HTML 文件CSS、JS 和图片都以 data URL 形式嵌在里面。适合经常需要离线看网页、做资料归档或者想把浏览器里几十页标签页变成硬盘上几十个小文件的场景。浏览器另存为到底缺了什么想离线保存一篇长文点另存为选网页仅 HTML文件是下来了——可打开一看样式和图片全没了。选网页全部呢又多出一个杂乱的文件夹里面散落着 CSS、图片、脚本把文件夹挪个位置就集体挂掉。用wget -mpk递归下载能下下来但同样是目录结构复杂离线打开时引用经常对不上。Monolith 的解法很直接它把整页当 DOM 处理遍历出每一个 CSS、图片和 JS 资源逐个抓取后编码成 base64 的 data URL 塞回文档最终只产出一个自包含的 HTML5 文件。断网双击打开渲染效果和在线时一模一样。核心流程就在 src/core.rs 里src/html.rs 负责具体改写节点。三步装好并保存第一个网页装好只需要一条命令。装过 Rust 环境的直接cargo install monolith不想装 Rust 就交给包管理器macOS/Linux 用brew install monolithArch 用pacman -S monolithAlpine 用apk add monolithWindows 可选choco install monolith或scoop install main/monolith。装完跑通第一步一条命令的事monolith https://example.com -o example.html-o里还支持占位符%title%自动换成页面标题%timestamp%换成保存时间戳批量存的时候文件名不会撞车。实战场景四招覆盖 90% 的需求批量保存一个 URL 列表。把手头想存的链接扔进urls.txt每行一条然后while read url; do monolith $url -o saved/%title%.html; done urls.txt过滤广告和统计脚本。-d是域名白名单-B把-d指定的域名变成黑名单。想剔掉统计追踪命令这样写monolith -I -B -d .googleanalytics.com https://example.com -o clean.html-I隔离会加一条 CSP让保存后的页面只依赖内嵌数据、不再向互联网发起请求和域名过滤是天然搭档。JS 动态渲染的页面。Monolith 本身不带 JS 引擎内容靠脚本加载的站点得先渲染再保存chromium --headless --dump-dom https://example.com \ | monolith - -I -b https://example.com -o example.html-表示从管道读-b告诉它相对链接该往哪解析。需要登录的页面。基本认证直接把账号密码写进 URLmonolith https://user:passexample.com -o auth.htmlCookie 会话则导出 Netscape 格式的cookies.txt用-C cookies.txt传进去。常用参数速查参数作用-o FILE输出文件-表示 stdout支持%title%/%timestamp%占位符-e忽略网络错误个别资源挂了也照常保存-d DOMAIN域名白名单只从指定域名抓资源-B把-d列表当成黑名单-c/-j/-i分别跳过 CSS、JS、图片-F/-a/-v/-f跳过字体、音频、视频、iframe-E CHARSET强制输出编码如-E utf-8-t SECONDS网络请求超时默认 120 秒-u USER-AGENT自定义 User-Agent应对反爬-C FILE从文件读取 cookies-M去掉自动注入的时间戳和来源信息-m输出 MHTML 格式会自动禁用 JS常见坑与解法症状保存后的页面断网打开部分图片或样式缺失。原因某个资源下载失败默认会终止整个任务。解决加-e忽略网络错误让能抓到的资源先落地。症状保存的页面是空白或残缺的骨架。原因站点内容靠 JS 运行时加载Monolith 不执行脚本。解决走无头浏览器管道chromium --headless --dump-dom URL | monolith - -I -b URL -o out.html。症状抓取时直接报 TLS 证书错误。原因目标站点用了自签或过期证书。解决加-k允许无效 X.509 证书。症状保存耗时很长部分资源卡在超时。原因默认每个资源最多等 120 秒慢站点容易被拖住。解决-t 300放宽超时或加-i -v砍掉不需要的大资源。回到开头那个场景一篇长文一条命令出来的单个 HTML 里样式、图片、脚本一个不缺随便丢到网盘、U 盘或别的机器上离线打开照样完整。归档这件事到这一步真的只剩存一个字了。【免费下载链接】monolith⬛️ CLI tool and library for saving complete web pages as a single HTML file项目地址: https://gitcode.com/GitHub_Trending/mo/monolith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表