gpt-crawler

gpt-crawler

网站爬取工具 快速构建GPT知识库

gpt-crawler是一款网站爬取工具,用于生成知识文件并创建定制GPT或AI助手。支持灵活配置爬取参数,包括URL、选择器和页面限制。生成的数据可上传至OpenAI平台,快速构建专属GPT或AI助手。工具提供本地运行、Docker容器和API服务等多种使用方式,适用于不同场景。开发者和内容创作者可借此高效构建特定领域的AI应用。

GPT Crawler网站爬虫知识文件生成自定义GPTOpenAIGithub开源项目

GPT 爬虫

从一个或多个 URL 爬取网站以生成知识文件,创建您自己的自定义 GPT

展示爬虫运行的动图

示例

这是一个自定义 GPT,我通过简单提供 Builder 文档的 URL 快速创建了它,用于帮助回答关于如何使用和集成 Builder.io 的问题。

这个项目爬取了文档并生成了文件,我将其上传作为自定义 GPT 的基础。

亲自尝试,询问有关如何将 Builder.io 集成到网站中的问题。

注意:您可能需要付费的 ChatGPT 计划才能访问此功能

开始使用

本地运行

克隆仓库

确保您安装了 Node.js 16 或更高版本。

git clone https://github.com/builderio/gpt-crawler

安装依赖

npm i

配置爬虫

打开 config.ts 并编辑 urlselector 属性以满足您的需求。

例如,要爬取 Builder.io 文档以创建我们的自定义 GPT,您可以使用:

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", };

查看 config.ts 了解所有可用选项。以下是常用配置选项的示例:

type Config = { /** 开始爬取的 URL,如果提供了 sitemap,则将使用 sitemap 并下载其中的所有页面 */ url: string; /** 用于匹配页面上要继续爬取的链接的模式 */ match: string; /** 用于获取内部文本的选择器 */ selector: string; /** 爬取的最大页面数 */ maxPagesToCrawl: number; /** 完成数据的文件名 */ outputFileName: string; /** 可选的要排除的资源 * * @example * ['png','jpg','jpeg','gif','svg','css','js','ico','woff','woff2','ttf','eot','otf','mp4','mp3','webm','ogg','wav','flac','aac','zip','tar','gz','rar','7z','exe','dmg','apk','csv','xls','xlsx','doc','docx','pdf','epub','iso','dmg','bin','ppt','pptx','odt','avi','mkv','xml','json','yml','yaml','rss','atom','swf','txt','dart','webp','bmp','tif','psd','ai','indd','eps','ps','zipx','srt','wasm','m4v','m4a','webp','weba','m4b','opus','ogv','ogm','oga','spx','ogx','flv','3gp','3g2','jxr','wdp','jng','hief','avif','apng','avifs','heif','heic','cur','ico','ani','jp2','jpm','jpx','mj2','wmv','wma','aac','tif','tiff','mpg','mpeg','mov','avi','wmv','flv','swf','mkv','m4v','m4p','m4b','m4r','m4a','mp3','wav','wma','ogg','oga','webm','3gp','3g2','flac','spx','amr','mid','midi','mka','dts','ac3','eac3','weba','m3u','m3u8','ts','wpl','pls','vob','ifo','bup','svcd','drc','dsm','dsv','dsa','dss','vivo','ivf','dvd','fli','flc','flic','flic','mng','asf','m2v','asx','ram','ra','rm','rpm','roq','smi','smil','wmf','wmz','wmd','wvx','wmx','movie','wri','ins','isp','acsm','djvu','fb2','xps','oxps','ps','eps','ai','prn','svg','dwg','dxf','ttf','fnt','fon','otf','cab'] */ resourceExclusions?: string[]; /** 可选的输出文件中包含的最大文件大小(以兆字节为单位)*/ maxFileSize?: number; /** 可选的输出文件中包含的最大令牌数 */ maxTokens?: number; };

运行爬虫

npm start

其他方法

使用 Docker 在容器中运行

要通过容器化执行获取 output.json,进入 containerapp 目录并按上述方式修改 config.tsoutput.json 文件应该生成在 data 文件夹中。注意:containerapp 目录中的 config.ts 文件中的 outputFileName 属性已配置为与容器一起工作。

作为 API 运行

要将应用程序作为 API 服务器运行,您需要执行 npm install 来安装依赖项。服务器使用 Express JS 编写。

运行服务器:

npm run start:server 启动服务器。服务器默认在 3000 端口运行。

您可以使用 /crawl 端点,并在 POST 请求正文中提供配置 JSON 来运行爬虫。API 文档通过 /api-docs 端点提供,使用 Swagger 提供服务。

要修改环境,您可以将 .env.example 复制为 .env,并设置您的值(如端口等)来覆盖服务器的变量。

将数据上传到 OpenAI

爬虫将在项目根目录生成一个名为 output.json 的文件。将其上传到 OpenAI 以创建您的自定义助手或自定义 GPT。

创建自定义 GPT

使用此选项可以轻松访问您生成的知识的 UI,并可以轻松与他人分享

注意:目前您可能需要付费的 ChatGPT 计划才能创建和使用自定义 GPT

  1. 转到 https://chat.openai.com/
  2. 点击左下角的您的名字
  3. 在菜单中选择"My GPTs"
  4. 选择"Create a GPT"
  5. 选择"Configure"
  6. 在"Knowledge"下选择"Upload a file"并上传您生成的文件
  7. 如果出现文件太大的错误,您可以尝试将其分割成多个文件并分别上传,使用 config.ts 文件中的 maxFileSize 选项,或者使用 config.ts 文件中的 maxTokens 选项通过标记化来减小文件大小

如何上传自定义 GPT 的动图

创建自定义助手

使用此选项可以通过 API 访问您生成的知识,以便集成到您的产品中。

  1. 转到 https://platform.openai.com/assistants
  2. 点击"+ Create"
  3. 选择"upload"并上传您生成的文件

如何上传到助手的动图

贡献

知道如何改进这个项目?发送 PR!

<br> <br> <p align="center"> <a href="https://www.builder.io/m/developers"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/844291/230786554-eb225eeb-2f6b-4286-b8c2-535b1131744a.png"> <img width="250" alt="由 Builder.io 用爱制作" src="https://yellow-cdn.veclightyear.com/2b54e442/10363742-8591-4783-b907-a2466991e23c.png"> </picture> </a> </p>

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多