PageToMD – 将网页转换为干净Markdown的CLI工具,专为AI代理设计
PageToMD 是一款命令行工具,可将任何网页转换为干净、带有YAML前置元数据的Markdown格式,适合AI代理工作流(如RAG和LLM提示)。支持静态和JS渲染页面,具备重试、robots.txt遵守、原子写入等功能。
PageToMD 是一款开源的命令行工具,旨在将任何网页转换为干净、结构化的 Markdown 格式,并自动添加 YAML 前置元数据,非常适合直接用于 AI 代理工作流程,如向量数据库存储或大语言模型(LLM)提示。其设计初衷是弥补传统工具如 pandoc 或 curl+sed 组合的不足——它们无法提取主要内容、无法处理重定向或无法自动添加元数据。PageToMD 集成了完整的管道:从抓取、提取、转换到写入,仅需一条命令。
安装方式灵活,推荐使用 pipx 或 uv 进行全局安装,也可通过 uv run 无需安装直接运行。对于包含 JavaScript 的现代网页(SPA),可额外安装 Playwright 渲染引擎,实现静态与动态页面的无缝切换。默认使用 httpx 抓取器,速度极快;当检测到页面内容不足或包含 SPA 标记时,auto 模式会自动回退到 Playwright。
快速使用非常简单:pagetomd https://example.com 即可根据页面标题生成 Markdown 文件。支持输出到标准输出(-o -)以便直接通过管道传递给 LLM 或其他工具。批量处理时,可从文件读取 URL 列表逐行转换。
核心功能包括:单页面模式与爬虫模式(--crawl),可递归抓取指定路径下的所有页面;丰富的选项控制输出行为,如是否保留注释、图片、链接,以及表格处理策略等;内置重试机制、超时控制、robots.txt 遵守等可靠性保证。输出文件始终包含 YAML 前端元数据(URL、标题、作者、日期等),并且默认添加抓取时间戳,通过 --no-fetched-at 可生成字节级一致的输出。
安全性方面,PageToMD 默认拒绝访问私有、回环、链路本地等内部地址,且没有覆盖选项,确保工具仅用于公开 URL。代码质量上有严格的测试覆盖率要求(整体 85%,关键模块 90%)。该项目采用 Business Source License 1.1 许可证,源代码可用且非商业使用免费,预计在 2030 年 6 月转换为 MIT 许可证。
总之,PageToMD 为 AI 开发者提供了一个可靠、易用且功能丰富的网页到 Markdown 转换工具,显著简化了数据准备流程。