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

Derniers outils d'IAMise à jour il y a 1 mois Sharenet.ai
1.6K 0
吐司AI

Introduction générale

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

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

 

Liste des fonctions

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

 

Utiliser l'aide

安装与运行(本地方式)

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

  1. Vérification de l'environnement
    确保电脑已安装 Node.js(版本 16 或更高)和 npm。运行以下命令确认:
node -v
npm -v

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

  1. projet de clonage
    在终端输入命令,将项目下载到本地:
git clone https://github.com/BuilderIO/gpt-crawler.git
  1. 进入目录
    下载完成后,进入项目文件夹:
cd gpt-crawler
  1. Installation des dépendances
    运行以下命令安装所需软件包:
npm install
  1. 配置爬虫
    spectacle (un billet) 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. entrer dans containerapp 文件夹,编辑 config.ts.
  3. Exécutez la commande suivante pour construire et démarrer le conteneur :
docker build -t gpt-crawler .
docker run -v $(pwd)/data:/app/data gpt-crawler
  1. 输出文件会生成在 data dossier.

使用 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 Documentation.
  • 如果文件过大,可在 config.ts mettre en place maxFileSize peut-être maxTokens 拆分文件。
  1. Créer des assistants personnalisés
  • 打开 OpenAI 平台。
  • 点击“+ Create” > “Upload”。
  • 上传 output.json Documentation.

Fonctions

  • 爬取内容
    指定 url répondre en chantant selector 后,工具会提取页面文本。比如,.docs-builder-container 只抓取该区域内容。
  • 生成文件
    输出文件格式为:
[{"title": "页面标题", "url": "https://example.com/page", "html": "提取的文本"}, ...]
  • 优化输出
    utiliser resourceExclusions 排除无关资源(如 png,jpg),减少文件体积。

mise en garde

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

 

scénario d'application

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

 

QA

  1. 可以爬取多个网站吗?
    可以。在 config.ts 中设置多个 URL 和匹配规则即可。
  2. 文件太大无法上传怎么办?
    mettre en place maxFileSize peut-être maxTokens,将文件拆分为多个小文件。
  3. 支持中文网站吗?
    支持。只要网站内容可被无头浏览器解析,就能正常爬取。
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...