Repolode
laiso

laiso/site2pdf

命令行工具,爬取网站所有页面并合并为一个 PDF,便于用于 RAG 和问答场景。

Star
321
Fork
34
未关闭 Issue
7
最近提交
3个月前

这是什么?

site2pdf 从指定的起始 URL 出发,收集页面中符合可选正则或字符串规则的链接(默认限定同一域名),通过无头 Chrome 把每个页面渲染为 PDF,再用 pdf-lib 合并成一个文件,输出到 ./out/ 目录下,文件名取自站点域名。

它主要用于把网站内容整理成可上传的文档,供 Google NotebookLM、ChatGPT 自定义 GPT 等 AI 工具做检索增强或问答。由于页面是在浏览器中渲染的,图片和排版都会保留,便于多模态模型理解。多个页面并行处理,生成速度更快。

运行环境需要 Node.js 22.12 或更高版本,并依赖 Puppeteer,因此还需要本机 Chrome 或 Chromium,可通过 --executablePath 参数或 CHROME_PATH 环境变量指定路径。

核心功能

  • 01从起始 URL 爬取同域链接,可用正则或字符串过滤。
  • 02通过无头 Chrome 将每个页面渲染为 PDF,保留图片和排版。
  • 03使用 pdf-lib 把所有页面合并为一个 PDF。
  • 04并行处理多个页面,加快生成速度。
  • 05支持通过参数或环境变量指定自定义 Chrome 路径。

适用场景

  • 将产品或 API 文档站点合并为一个文件,导入 NotebookLM 或自定义 GPT。
  • 为某个文档章节生成单个离线快照用于归档。
  • 为 RAG 流程提供网站内容作为文档来源。

快速上手

  1. 1

    使用 npx 直接运行工具(需要 Node.js v22.12 或更高版本)

    npx site2pdf-cli https://example.com
  2. 2

    在 out 文件夹中找到生成的 PDF

使用前须知

  • 需要 Node.js v22.12 或更高版本;在 Linux 上还需要为 Puppeteer 安装额外的系统库。
  • 某些系统(如 ARM64 Linux)可能无法启动 Chrome,需要手动安装浏览器。

收录于专题

标签

常见问题

site2pdf 是什么?
命令行工具,爬取网站所有页面并合并为一个 PDF,便于用于 RAG 和问答场景。 site2pdf 从指定的起始 URL 出发,收集页面中符合可选正则或字符串规则的链接(默认限定同一域名),通过无头 Chrome 把每个页面渲染为 PDF,再用 pdf-lib 合并成一个文件,输出到 ./out/ 目录下,文件名取自站点域名。
site2pdf 可以免费使用吗?用的什么许可证?
site2pdf 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
site2pdf 还在维护吗?
半年内有更新。site2pdf 最近一次提交是在 2026年8月21日。
site2pdf 适合用来做什么?
将产品或 API 文档站点合并为一个文件,导入 NotebookLM 或自定义 GPT。 为某个文档章节生成单个离线快照用于归档。 为 RAG 流程提供网站内容作为文档来源。
site2pdf 怎么安装和运行?
使用 npx 直接运行工具(需要 Node.js v22.12 或更高版本): npx site2pdf-cli https://example.com 在 out 文件夹中找到生成的 PDF
在哪里获取 site2pdf?
源代码和安装说明在 GitHub 上:https://github.com/laiso/site2pdf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目