GPT-Crawler: rastreo automático de contenidos web para generar documentos de bases de conocimiento

吐司AI

Introducción general

GPT-Crawler 是由 BuilderIO 团队开发的一个开源工具,托管在 GitHub 上。它通过输入一个或多个网站 URL,爬取页面内容,生成结构化的知识文件(output.json),用于创建自定义 GPT 或 AI 助手。用户可以配置爬取规则,比如指定起始 URL 和内容选择器,工具会自动提取文本并整理成文件。这个工具简单易用,支持本地运行、Docker 容器部署和 API 调用,适合开发者快速从网站内容构建专属 AI 助手。截至目前,它在技术社区中受到关注,因其高效性和开源特性广受欢迎。

GPT-Crawler:自动爬取网站内容生成知识库文件

 

Lista de funciones

  • 从一个或多个 URL 爬取网站内容,生成 output.json Documentación.
  • 支持自定义爬取规则,包括起始 URL、链接匹配模式和 CSS 选择器。
  • 能处理动态网页,使用无头浏览器抓取客户端渲染内容。
  • 提供 API 接口,通过 POST 请求启动爬取任务。
  • 支持设置最大页面数(maxPagesToCrawl)、文件大小(maxFileSize)和令牌数(maxTokens).
  • 生成的文件可直接上传到 OpenAI,用于创建自定义 GPT 或 AI 助手。
  • 支持 Docker 容器运行,方便在不同环境中部署。
  • 可排除特定资源类型(如图片、视频等),优化爬取效率。

 

Utilizar la ayuda

安装与运行(本地方式)

GPT-Crawler 基于 Node.js 开发,需要安装相关环境才能运行。以下是详细步骤:

  1. Comprobación del entorno
    确保电脑已安装 Node.js(版本 16 或更高)和 npm。运行以下命令确认:
node -v
npm -v

如果没有,请从 Node.js 官网 下载安装。

  1. proyecto de clonación
    在终端输入命令,将项目下载到本地:
git clone https://github.com/BuilderIO/gpt-crawler.git
  1. 进入目录
    下载完成后,进入项目文件夹:
cd gpt-crawler
  1. Instalación de dependencias
    运行以下命令安装所需软件包:
npm install
  1. 配置爬虫
    espectáculo (una entrada) config.ts 文件,修改爬取参数。例如,爬取 Builder.io 文档:
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
selector: ".docs-builder-container",
maxPagesToCrawl: 50,
outputFileName: "output.json"
};
  • url:起始爬取地址。
  • match:链接匹配模式,支持通配符。
  • selector:提取内容的 CSS 选择器。
  • maxPagesToCrawl:最大爬取页面数。
  • outputFileName:输出文件名。
  1. 运行爬虫
    配置完成后,运行以下命令启动爬取:
npm start

完成后,output.json 文件会生成在项目根目录。

替代运行方式

使用 Docker 容器

  1. 确保已安装 Docker(从 Docker 官网 下载)。
  2. 进入 containerapp 文件夹,编辑 config.ts.
  3. 运行以下命令构建并启动容器:
docker build -t gpt-crawler .
docker run -v $(pwd)/data:/app/data gpt-crawler
  1. 输出文件会生成在 data 文件夹中。

使用 API 运行

  1. 安装依赖后,启动 API 服务:
npm run start:server
  1. 服务默认运行在 http://localhost:3000.
  2. 发送 POST 请求到 /crawl,示例:
curl -X POST http://localhost:3000/crawl -H "Content-Type: application/json" -d '{"url":"https://example.com","match":"https://example.com/**","selector":"body","maxPagesToCrawl":10,"outputFileName":"output.json"}'
  1. 可访问 /api-docs 查看 API 文档(基于 Swagger)。

上传到 OpenAI

  1. 创建自定义 GPT
  • 打开 ChatGPT。
  • 点击左下角姓名,选择“My GPTs”。
  • 点击“Create a GPT” > “Configure” > “Knowledge”。
  • 上传 output.json Documentación.
  • 如果文件过大,可在 config.ts establecer maxFileSize tal vez maxTokens 拆分文件。
  1. Creación de asistentes personalizados
  • 打开 OpenAI 平台。
  • 点击“+ Create” > “Upload”。
  • 上传 output.json Documentación.

Funciones

  • 爬取内容
    指定 url responder cantando selector 后,工具会提取页面文本。比如,.docs-builder-container 只抓取该区域内容。
  • 生成文件
    输出文件格式为:
[{"title": "页面标题", "url": "https://example.com/page", "html": "提取的文本"}, ...]
  • Producción optimizada
    utilizar resourceExclusions 排除无关资源(如 pngyjpg),减少文件体积。

advertencia

  • 需要 OpenAI 付费账户才能创建自定义 GPT。
  • 动态网页爬取依赖无头浏览器,确保依赖完整。
  • 文件过大时,可调整配置拆分上传。

 

escenario de aplicación

  1. 技术支持助手
    爬取产品文档网站,生成 AI 助手,帮助用户解答技术问题。
  2. 内容整理工具
    从博客或新闻网站抓取文章,制作知识库或问答助手。
  3. 教育培训助手
    爬取在线课程页面,生成学习助手,提供课程相关解答。

 

CONTROL DE CALIDAD

  1. 可以爬取多个网站吗?
    可以。在 config.ts 中设置多个 URL 和匹配规则即可。
  2. 文件太大无法上传怎么办?
    establecer maxFileSize tal vez maxTokens,将文件拆分为多个小文件。
  3. 支持中文网站吗?
    支持。只要网站内容可被无头浏览器解析,就能正常爬取。
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

ninguno
Sin comentarios...