Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理 精华

发布于 2024-11-11 16:18
浏览
0收藏

我们将介绍 Crawl4AI 以及如何利用它来从不同网站或互联网上的其他任何地方爬取和抓取数据,只要该网站支持抓取或爬取功能。

当我们与 ChatGPT 一起工作,构建可以连接互联网外部数据源的 Rag 系统时,爬取和抓取数据就变得非常重要,因为你需要抓取并获取外部数据、实时数据或现实世界的数据,我们通常在这一过程中遇到困难。

我将介绍一个名为 Crawl4AI 的开源工具,这是一个 GitHub 上的开源项目,任何人都可以使用,只需几行代码,你就可以完成数据提取,随后你可以构建问答系统、信息发现工具或聊天机器人应用程序。

让我们跳转到实际操作中,看看如何做到这一点。这是他们的 GitHub 仓库页面,你可以看到这是一个开源的 LLM 友好型网页爬虫和抓取工具。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

他的一个优点是,当你提取数据后,它会将数据返回为 Markdown 格式。在我看来,当你处理 LLM 时,Markdown 格式是最好的格式。

这就是为什么 LlamaIndex 也采用这种方式进行数据提取,他们有一个选项可以选择文本或 Markdown 格式。当你选择 Markdown 时,你会得到从不同文件格式中提取的数据存储为 Markdown 文件格式。

我认为 LLM 非常适应 Markdown 格式,这也是他们返回数据为 Markdown 格式的原因,这真的很棒。

现在我已经安装了 Crawl4AI,从他们的源代码安装的,没有使用 pip 安装,但你可以这样做,你也可以通过 Docker 进行设置。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

完成安装后,下一步当然是导入这个库:`from crawl4ai import WebCrawler`。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

接下来我们将创建一个 web_crawler 的实例。我创建了一个变量名为 `crawler`,并初始化它。你可以看到,我初始化了它,它显示“正在初始化本地 selenium 爬虫策略”。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

这是什么意思呢?这其实是一个基于已有工具的包装器,当然,所有开发者的功劳都归功于他们,因为他们让我们的任务变得更简单了。

你不再需要关注编写或使用 Selenium 或其他类似的 GUI 工具来抓取数据,所有的这些都已经为你处理好了。你只需要使用这个库,传入你的链接,然后得到提取的数据,就这么简单。

现在我们已经有了 crawler,接下来你需要使用 `warm_up` 来加载必要的模型。所以我们来 `crawler.warm_up`。你可以运行这个命令,它会预热 web_crawler 并设置一些日志等信息。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

现在 web_crawler 已准备好进行爬取了。运行这个步骤后,你已经准备好在一个 URL 上运行爬虫了。

我们来试一下这个功能,运行爬虫并传入一个 URL。比如,这个网站的一篇文章:

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

提取完成后,你可以使用 `result.markdown` 来显示提取结果,

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

这里列出了所有这篇文章的信息,(我放到Gemini中翻译了)

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

你可以将这些数据保存为 Markdown 格式,甚至基于这些数据构建聊天机器人。

你还可以将这个工具与 OpenAI 或其他 LLM 结合使用,从而以结构化的方式获取数据。

Crawl4AI:AI驱动的网页抓取神器,结合LLM实现自动化数据提取与处理-AI.x社区

总的来说,Crawl4AI 是一个非常实用的工具,特别是在你需要构建外部数据连接工具或收集动态数据时。这样的工具通常可以和Langchain、CrewAI这些Agent框架配合使用,或者说充当其中的 Tools。

你也可以设置任务来定时抓取数据,并将其与 LLM 或其他结构化数据处理工具结合使用。

本文转载自 AI进修生​,作者: Aitrainee

收藏
回复
举报
回复
相关推荐