Created
Aug 8, 2024 07:04 AM
Favorite
Favorite
Priority
备注
推荐
类型
模型测试
Crawl4AI
Crawl4AI是一款专为简化网页爬取和信息提取而设计的工具,特别适合大语言模型(LLMs)和AI应用。
无论你是通过REST API、Python 库,还是Google Colab笔记本来使用,Crawl4AI都能提供强大的功能,让网页数据提取变得更加简单和高效。你无需安装任何额外的库,就能轻松地从多个网页获取所需的信息。
Crawl4AI提供了多种使用方式:你可以直接使用官方服务器上的 REST API,也可以在本地运行服务器。
此外,Crawl4AI的Python库允许你根据具体需求自定义爬取和提取策略,提供更高级的控制。
通过Crawl4AI,你可以高效地提取网页上的文本、图片、音频、视频和链接,为你的LLMs和AI应用提供强大的数据支持。
主要功能
功能 | 描述 |
完全免费和开源 | Crawl4AI 是免费使用且开源的,任何人都可以访问。 |
适用于 LLM 的输出格式 | 支持 JSON、清理后的 HTML 和 markdown 格式。 |
并发爬取 | 可以同时爬取多个 URL,节省时间。 |
媒体提取 | 提取所有媒体标签,包括图片、音频和视频。 |
链接提取 | 从网页中提取所有外部和内部链接。 |
元数据提取 | 提取网页的元数据以获取更多上下文信息。 |
自定义钩子 | 定义自定义钩子,用于身份验证、头部信息和爬取前的页面修改。 |
用户代理支持 | 自定义 HTTP 请求的用户代理。 |
截图功能 | 在爬取过程中对网页进行截图。 |
JavaScript 执行 | 在爬取前执行自定义 JavaScript。 |
高级分块和提取策略 | 使用基于主题、正则表达式、句子分块、余弦聚类和 LLM 的提取策略。 |
支持 CSS 选择器 | 使用 CSS 选择器提取特定内容。 |
指令/关键词优化 | 传递指令或关键词以优化提取过程。 |
安装
使用 Crawl4AI 有三种方式:
1、作为库使用(推荐)
2、作为本地服务器(Docker)或使用 REST API
这个选项安装与transformer相关的依赖项并下载模型。
3、作为本地服务器(Docker),使用 Docker Hub 上的预构建镜像
你可以使用Docker Hub上的预构建Crawl4AI镜像,这些镜像适用于所有平台(Mac,Linux,Windows)
运行容器后,你可以测试是否正常工作:
在Windows (PowerShell)上:
或者打开浏览器,导航到http://localhost:8000
快速入门指南
首先,我们创建一个WebCrawler实例并调用warmup()函数。
第一次运行Crawl4AI时可能需要几秒钟,因为它需要加载所需的模型文件。
基本用法
只需提供一个URL!
截图
让我们对页面进行截图!
理解参数
默认情况下,Crawl4AI会缓存爬取结果,这意味着对相同URL的后续爬取会更快!让我们看看这个功能。
第一次爬取(缓存结果):
强制重新爬取
添加分块策略
让我们添加一个分块策略:RegexChunking!这个策略根据给定的正则表达式模式拆分文本。
你还可以使用NlpSentenceChunking,它利用NLP技术将文本拆分为句子。
添加提取策略
让我们变得更聪明,使用提取策略:CosineStrategy!这个策略利用余弦相似度提取语义上相似的文本块。
你还可以传递其他参数,如semantic_filter,以提取特定内容。
使用 LLMExtractionStrategy
这个策略利用大型语言模型从网页中提取相关信息。
你还可以提供特定的指令来指导提取。
目标提取
使用CSS选择器只提取H2标签!
交互提取
传递JavaScript代码点击“加载更多”按钮!
使用爬虫钩子
入门体验
拿之前文章做个验证。Redka = SQLite 重新实现 Redis