AI 知识库构建:基于维基百科数据的自动化采集方案
探讨了人工智能从算法驱动向知识驱动的演进,介绍了网络爬虫的概念、原理及挑战。对比了基于 Python 的传统爬虫技术与无代码网页抓取 API 方案,详细演示了如何利用 API 自动化采集维基百科数据构建 AI 知识库。文章强调了知识库在增强大模型回答可信度、支持智能体长期记忆及降低算力成本方面的价值,展示了高效数据采集对 AI 发展的赋能作用。

探讨了人工智能从算法驱动向知识驱动的演进,介绍了网络爬虫的概念、原理及挑战。对比了基于 Python 的传统爬虫技术与无代码网页抓取 API 方案,详细演示了如何利用 API 自动化采集维基百科数据构建 AI 知识库。文章强调了知识库在增强大模型回答可信度、支持智能体长期记忆及降低算力成本方面的价值,展示了高效数据采集对 AI 发展的赋能作用。

当前,以 GPT-4、Claude 等为代表的大语言模型(LLM)虽然展现出强大的生成能力,但其局限性也日益凸显:依赖历史训练数据导致知识滞后,面对专业领域问题时易产生'幻觉'(Hallucination),且缺乏对动态实时信息的响应能力。 为解决这些问题,AI 技术正经历从'算法驱动'到'知识驱动'的范式升级。知识库(Knowledge Base)成为连接通用大模型与垂直领域应用的桥梁:
网络爬虫,又称为网页蜘蛛、机器人或网络漫游器,是一种自动化脚本或程序,设计用于系统地浏览互联网并提取信息。爬虫的主要作用包括:
网络爬虫的工作流程通常包括以下几个步骤:
爬虫可以配置为定期更新数据,以确保信息的实时性和准确性。
在实际操作中,爬虫技术面临着多种挑战:
在实施爬虫技术时,遵循法律和伦理标准至关重要:
在实施爬虫技术时,始终保持透明度和责任感,以维护良好的互联网生态环境。
传统爬虫技术是数据采集领域中最基础的工具之一,通过编写简单的脚本即可实现数据抓取。然而,随着互联网技术的发展,传统爬虫逐渐暴露出其局限性。本章将深入探讨传统爬虫的技术栈、示例代码以及面临的痛点。
传统爬虫通常使用 Python 编程语言,结合 Requests 库和 BeautifulSoup 库来实现数据抓取:
这种技术栈适合于静态网页的抓取,易于学习和使用。
接下来,我们一起来看下如何使用传统爬虫技术爬取维基百科,获取准确有价值的优质知识。
GET https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch={关键词}&srlimit={最大结果数}&format=json
可以看到,人工智能的搜索结果有 45 条数据,但是我们设置了 srlimit 为 10,所以 API 只给我们返回了 10 条,每条数据包含了百科标题等摘要性信息。

GET https://en.wikipedia.org/wiki/{空格替换为_后的 title}
获取到网页内容之后,使用 BeautifulSoup 库解析网页源代码相关标签,得到需要的信息即可。
访问代理服务官网注册账号,登录后台后找到代理 IP 配置区域。

登录后点击左侧的 Proxies & Scraping 按钮。

找到住宅动态 IP,点击开始使用按钮。

在基本设置里,找到通道名称,使用默认名称或者自己都可以。代理类型选共享(按 GB 收费),其它保持默认,然后点击右侧的添加按钮即可完成代理 IP 的设置。

代理 IP 配置成功后,可以看到账号、密码和 IP 获取域名、测试命令等信息,我们可以直接复制代理 IP 配置,下一步会用到。

以下是从维基百科搜索资料并进行爬取内容的完整代码。将开头的代理 IP 替换上一步一键复制的信息即可。
import requests
from bs4 import BeautifulSoup
import json
# 代理 IP 配置(需要替换为自己的用户名、密码)
proxy = {
'http': '用户名:密码@host:port',
}
class WikipediaScraper:
def __init__(self, url):
self.url = url
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
def scrape_page(self):
try:
response = requests.get(self.url, headers=self.headers, timeout=5)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.find('h1', {'id': 'firstHeading'}).text
content = ''
for paragraph in soup.find_all('p'):
content += paragraph.text + '\n'
return {
'title': title,
'content': content.strip()
}
except requests.exceptions.RequestException as e:
print(f'网络请求失败:{e}')
except Exception as e:
print(f'解析页面时出错:{e}')
:
():
.keyword = keyword
.headers = {
:
}
():
url =
:
response = requests.get(url, headers=.headers, verify=, timeout=)
response.raise_for_status()
data = response.json()
articles = []
result data[][]:
article_url =
scraper = WikipediaScraper(article_url)
page_content = scraper.scrape_page()
articles.append({
: result[],
: article_url,
: page_content[] page_content
})
articles
requests.exceptions.RequestException e:
()
[]
():
(file_name, , encoding=) f:
json.dump(articles, f, ensure_ascii=, indent=)
()
__name__ == :
keyword =
search = WikipediaKeywordSearch(keyword)
articles = search.search_articles(max_results=)
articles:
search.save_results(articles)
如下所示,是爬虫爬取到的与人工智能相关的内容,包含了百科标题、网址和完整内容:

虽然传统爬虫技术在静态网页数据抓取中表现良好,但其局限性也显而易见:
网页抓取 API 以零代码配置、全球网络支撑及动态渲染能力为核心,为企业与个人提供高效数据采集方案,具体优势如下:
访问服务官网注册账号,登录网站。

登录后点击左侧的 Web Scrapers 按钮。

然后点击 Web 爬虫库,进入网络爬虫市场。

从网络爬虫市场中找到用于 AI 的数据,然后选择 en.wikipedia.org。

继续找到 Wikipedia articles - discover by keyword,也就是按关键字搜索的方式。

选择无代码抓取器,点击下一个按钮。

到此,就真正进入了爬虫配置页面,可以看到,我们只需要配置关键词,其它的编码参数和细节都帮我们搞定并且隐藏起来了(可以切换到词典页查看抓取的信息都有哪些),非常简单。配置好关键字之后,点击右下角的 Start collecting 按钮,就会自动启动抓取任务了。

任务启动之后,重新回到 Web Scrapers 页面,等待刚才启动的任务状态变为 Ready 之后,点击进入任务详情。

可以看到,我们配置的这个爬虫运行了 26 秒,收集到了 45 条数据,数据量 5.3MB。然后点击下载按钮,选择需要的格式即可将爬取的数据下载到本地了。

如下所示,是无代码 API 采集到的 json 格式数据,可以看到,比我们前面使用传统爬虫技术爬取到的数据量更多,知识更加优质!!

AI 知识库是智能系统的核心组成部分,通过收集、存储和组织大量数据,支持 AI 应用做出准确的决策和提供智能服务。以我们爬取的人工智能相关维基百科内容为例,这些信息可以通过智能体知识库发挥价值。
人工智能相关的维基百科内容涵盖广泛的知识,包括 AI 的基本概念、历史发展、技术应用、伦理问题等。这些信息可以被整合到智能体知识库中,支持智能体(如虚拟助手、聊天机器人等)提供更为丰富和准确的交互体验。
数据是驱动 AI 发展的核心要素。通过高效的数据采集方法,我们能够构建丰富的知识库,为 AI 应用提供强大的支持。无代码方案大幅降低了数据采集的技术和人力成本。随着零代码方案的崛起,企业将能够更轻松地获取和利用数据,释放数据的潜在价值,推动 AI 应用的创新和发展。在未来,数据采集技术将继续演进,帮助我们更好地理解和利用数据,赋能各类 AI 应用场景。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online