首页 > 其他分享 >从零开始打造AI知识库:使用爬虫自动化采集网页内容的完整教程

从零开始打造AI知识库:使用爬虫自动化采集网页内容的完整教程

时间:2025-01-16 10:57:28浏览次数:3  
标签:示例 AI 知识库 爬虫 爬取 GPT 网页内容

言简意赅的讲解crawler爬虫解决的痛点

童鞋们在实现私有化大语言模型实现精准参数归纳与程序执行之后还是不满足AI相关的能力。在 AI 驱动的知识管理时代,快速搭建属于自己的知识库已成为很多开发者和团队的核心需求。本文将带你一步步创建一个基于网页爬取的知识库,并将其直接应用到 GPT 模型中。这种方法适用于个人博客、企业文档甚至特定网站的内容爬取与整理。


为什么需要爬虫知识库?

AI 模型如 GPT 的强大能力依赖于高质量的上下文知识库。通过爬虫,我们可以:

  • 自动化采集分散在网页上的信息。
  • 定制化选择和过滤相关内容。
  • 快速构建一个可用的语义搜索和对话式 AI 系统。

环境搭建与依赖安装

以下是快速搭建爬虫系统并获取知识库的完整步骤:

1. 启动容器环境

使用 Docker 来创建一个隔离的环境,确保爬虫工具运行的依赖无冲突。

docker run -it --name gpt-crawler-container node:lts bash
  • --name:命名容器为 gpt-crawler-container
  • node:lts:使用 Node.js LTS 版本镜像。
  • bash:进入交互式 Shell。

启动镜像


2. 安装依赖

在容器中执行以下命令,安装必要的工具和依赖:

2.1 更新系统并安装基础工具
apt-get update && apt-get install -y git curl gnupg
  • apt-get update:更新软件包列表。
  • git:用于克隆代码仓库。
  • curlgnupg:下载和验证相关工具的依赖。

容器更新系统和基础工具

2.2 安装 Playwright 依赖
npx playwright install && npx playwright install-deps
  • Playwright 是一个强大的浏览器自动化工具,支持多种浏览器的爬取任务。

容器安装Playwriight

2.3 克隆爬虫项目并安装依赖
cd /home && git clone --depth=1 https://github.com/builderio/gpt-crawler && cd gpt-crawler
npm install
  • git clone:从官方仓库获取爬虫代码。
  • npm install:安装爬虫项目的所有依赖。

克隆爬虫项目并安装依赖


3. 配置爬虫

爬虫的核心是配置文件 config.ts,它定义了爬取目标、内容选择器和其他关键参数。

示例配置说明
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:爬虫的起始 URL。例如,这里从 Builder.io 的开发者文档页面开始。
  • match:用于筛选需要爬取的链接,支持通配符。
    • 示例:https://www.builder.io/c/docs/** 会匹配所有文档子页面。
  • selector:CSS 选择器,指定需要提取内容的区域。
    • 示例:.docs-builder-container 是文档内容的容器。
  • maxPagesToCrawl:限制最大爬取页面数,避免过度爬取。
  • outputFileName:保存爬取结果的文件名。

完整参数解析

以下是 config.ts 中的所有可配置项:

  1. url:爬虫起始页面 URL。如果提供站点地图 (sitemap),则优先下载站点地图内容。
  2. match:用于匹配 URL 的规则,仅爬取符合规则的页面。
  3. selector:提取内容的 CSS 选择器,决定爬取页面中的哪部分内容。
  4. maxPagesToCrawl:最大爬取页面数。
  5. outputFileName:输出文件的名称,爬取结果保存为 JSON 格式。
  6. resourceExclusions:可选,排除某些资源类型(如图片、视频、样式文件等),加快爬取速度。
  7. maxFileSize:可选,限制文件的最大大小(MB)。
  8. maxTokens:可选,限制输出文件的最大 token 数,用于控制 GPT 模型输入的大小。

示例配置:采集文浩(楠搏万)博客文章

以下是一个具体示例,爬取指定博客中的内容,我展示的示例为爬取我自己的文浩(楠搏万)的博客:

import { Config } from "./src/config";

export const defaultConfig: Config = {
  url: "https://wenhaono1.blog.csdn.net/?type=blog",
  match: "https://wenhaono1.blog.csdn.net/article/details/**",
  selector: `.user-profile-body-right,.blog-content-box`,
  maxPagesToCrawl: 500,
  outputFileName: "output.json",
  maxTokens: 200000,
};
  • url:CSDN 博客首页。
  • match:匹配所有文章详情页。
  • selector:选择文章内容和用户信息的 CSS 类。
  • maxTokens:将结果限制在 200,000 个 token 以内,便于直接用作 GPT 的输入。

采集 CSDN 博客文章


4. 运行爬虫

执行以下命令开始爬取:

npm start

成功运行后,结果会存储在配置文件中指定的 output.json 中。

运行爬虫


5. 知识库直接用于 GPT

爬取完成的 output.json 文件是直接可用的 GPT 知识库:

  1. 打开 GPT 的知识库管理界面。
  2. 上传 output.json
  3. 知识库即刻生效,无需额外转换或调整。

知识库生成结果

知识库上传GPT


常见问题与优化

  1. 如何优化爬取速度?

    • 使用 resourceExclusions 排除不必要的资源(如图片、CSS 文件)。
    • 通过 maxPagesToCrawl 限制页面数。
  2. 如何确保抓取的内容干净整洁?

    • 精确定义 selector
    • 可在后续处理时清理无关内容。
  3. 配置 maxTokens 的意义?

    • 避免输出文件过大,确保符合 GPT 模型的输入限制。

总结

通过简单的步骤,我们成功完成了从爬虫搭建到 AI 知识库生成的全过程。无论是技术博客、企业文档还是行业资讯,都可以用这种方式快速创建一个高效的 AI 支持平台,为工作和学习赋能。

动手试试,创造属于你的 AI 知识库吧!


通过上述内容,你就已经基本理解了这个方法,基础用法我也都有展示。如果你能融会贯通,我相信你会很强

Best
Wenhao (楠博万)

标签:示例,AI,知识库,爬虫,爬取,GPT,网页内容
From: https://blog.csdn.net/m0_70878103/article/details/144989597

相关文章

  • 【2025大模型最新版】AI大模型全解析:零基础入门到精通,一文搞定!
    近年来,随着深度学习技术的飞速发展,AI大模型作为人工智能领域的重要研究对象,正逐步成为学术界和产业界广泛关注的热点议题。AI大模型,作为一类具备庞大参数规模与卓越学习能力的神经网络模型,如BERT、GPT等,已在自然语言处理、计算机视觉等多个领域展现出卓越成效,极大地推动了......
  • 从目前AI的发展趋势来看,AI编程能力肯定会比人提升的越来越快,学习编程语言是否已经不再
    随着AI技术的发展,特别是像ChatGPT这样的生成式AI的出现,AI确实在编程方面展现了强大的能力。但学习编程语言和编程思维依然是一个人从事开发工作的核心能力,原因在于以下几个方面:1.编程语言依然重要的原因1.1理解AI的结果AI是工具而非替代品:AI可以帮助生成代码,但......
  • 腾讯云AI代码助手编程挑战赛-【用AI构造AI-打造属于个人的Copilot】
    @[腾讯ai代码助手]概要使用腾讯云ai编程助手辅助编程使用AI构造AI打造属于个人的Copilot作品简介腾讯云AI编程助手结合TDesign,为开发者提供了一站式的智能开发解决方案。腾讯云AI编程助手基于混元代码大模型,能够实现代码的智能补全、生成、优化与重构,以及错误检测与修......
  • 【大模型实战指南】AI大模型学习路线:从理论到实践,全面提升核心竞争力!
    一、初聊大模型1、什么是大模型?大模型,通常指的是在人工智能领域中的大型预训练模型。你可以把它们想象成非常聪明的大脑,这些大脑通过阅读大量的文本、图片、声音等信息,学习到了世界的知识。这些大脑(模型)非常大,有的甚至有几千亿个参数,这些参数就像是大脑中的神经元,它们通过......
  • 解决 spring boot 2.7.18 导入 flowable 6.8.1 报 Liquibase failed to start because
    解决springboot2.7.18导入flowable6.8.1报Liquibasefailedtostartbecausenochangelogcouldbefoundat'classpath:/db/changelog/db.changelog-master.yaml'.的办法 不论是导入<dependency><groupId>org.flowable</groupId><ar......
  • 深入解析 Spring AI 系列:解析函数调用
    我们之前讨论并实践过通过常规的函数调用来实现AIAgent的设计和实现。但是,有一个关键点我之前并没有详细讲解。今天我们就来讨论一下,如何让大模型只决定是否调用某个函数,但是SpringAI不会在内部处理函数调用,而是将其代理到客户端。然后,客户端负责处理函数调用,将其分派到相应......
  • 利用AI进行网络性能分析的详解与应用
    前言随着互联网的迅速发展,网络性能的优劣直接影响着用户体验。传统的网络性能分析方法往往依赖于人力检测与数据统计,效率不高且容易出错。而AI技术的发展为我们提供了一种全新的解决方案,借助AI,我们可以自动化、智能化地进行网络性能分析,从而提升工作效率和分析精度。什么......
  • 【AIGC提示词系统】时尚精灵:智能化的个性穿搭推荐系统设计
    感谢各位,再次进入全站综合热榜......
  • AI 编程工具—Cursor进阶使用 阅读开源项目
    AI编程工具—Cursor进阶使用阅读开源项目首先我们打开一个最近很火的项目browser-use,直接从github上克隆即可索引整个代码库这里我们使用@Codebase这个选项会索引这个代码库,然后我们再选上这个项目的README.md文件开始提问@Codebase@README.md这个项目是用......
  • 为什么专业爬虫难找工作?推荐几个趁手爬虫工具
    专业的爬虫已经有搜索公司、数据公司在做了,像百度、搜狗、德勤等等,相关的程序员岗位也不少。但大多数场景下都只需要简单的爬虫,数据量小、难度低,这样简单的爬虫压根不需要专门的人才,不管用Python,还是用爬虫软件,在很短的时间里都能搞定。其实爬虫无外乎抓包工具、解析工具、HTM......