把文档网站、GitHub 仓库、PDF 等多种来源转换为结构化知识资产,用于 AI Skill、RAG 和 AI 编程助手。
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
使用 npx 直接运行工具(需要 Node.js v22.12 或更高版本)
npx site2pdf-cli https://example.com - 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 数据每日更新。
相关项目
基于 Playwright 的 TypeScript 框架,让 AI 智能体自主操作浏览器,完成点击、输入和数据提取等网页任务。
面向 AI 智能体与应用的开源浏览器 API,提供可通过 Puppeteer、Playwright 或 Selenium 控制的 Chrome 沙箱。
自托管的欧洲房源监控工具,抓取 ImmoScout24、Kleinanzeigen 等平台的新房源,并推送到 Telegram、邮件等渠道。
开源 Python 网页爬虫,可将任意网站转为干净、适合 LLM 使用的 Markdown,并支持结构化数据提取。