在现代 AI 研究中,尤其是大型语言模型(LLM)训练和应用中,数据的获取与处理是一个关键环节。
为了帮助开发者更高效地抓取和整理网络数据, Crawl4AI 诞生了。这是一个专为 LLM 优化的开源网页爬虫工具,其便捷的使用方式与强大的功能,使得网页数据采集变得前所未有的轻松。
Crawl4AI 是一款基于 LLM(大型语言模型)的开源网页爬虫工具,它的设计初衷是为开发者提供一个简单易用、功能强大的数据抓取解决方案,特别是为了满足 AI 研究中的数据采集需求。
通过仅需几行代码,用户便能实现高效的网页爬取和数据提取。
核心功能
• 开源且免费 :Crawl4AI 完全开源,开发人员可以自由使用和修改,无需担心成本问题。
• AI 驱动的自动化数据提取 :通过 LLM,Crawl4AI 能够智能化地识别和解析网页元素,自动进行数据提取,极大节省开发者的时间与精力。
• 结构化数据输出 :支持将提取到的数据转换为 JSON、Markdown 等结构化格式,方便后续的分析和处理,确保数据能够无缝集成到 AI 模型训练中。
• 多功能支持/多URL抓取 :支持滚动页面、抓取多个 URL、提取媒体标签(如图片、视频、音频)、元数据、外部/内部链接以及屏幕截图等。
• 高度定制化 :支持用户自定义认证、请求头信息、爬取前页面修改、用户代理以及 JavaScript 脚本执行,确保爬虫可以针对不同网页做出灵活调整。
• 高级提取策略 :支持多种提取策略,包括基于主题、正则表达式、句子的分块策略,以及利用 LLM 或余弦聚类的高级提取策略。
如何使用?
安装
使用 pip 安装:
pip install crawl4ai
使用 Docker 安装:
构建 Docker 镜像并运行 :
docker build -t crawl4ai .
docker run -d -p 8000:80 crawl4ai
从 Docker Hub 直接运行 :
docker pull unclecode/crawl4ai:latest
docker run -d -p 8000:80 unclecode/crawl4ai:latest
使用
Crawl4AI 的使用非常简单,仅需几行代码就能实现强大的功能。以下是使用 Crawl4AI 进行网页数据抓取的示例:
import asyncio
from crawl4ai import AsyncWebCrawler
asyncdefmain():
asyncwith AsyncWebCrawler(verbose=True) as crawler:
js_code = ["const loadMoreButton = Array.from(document.querySelectorAll('button')).find(button => button.textContent.includes('Load More')); loadMoreButton && loadMoreButton.click();"]
result = await crawler.arun(
url="https://www.nbcnews.com/business",
js_code=js_code,
css_selector="article.tease-card",
bypass_cache=True
)
print(result.extracted_content)
if __name__ == "__main__":
asyncio.run(main())
使用场景
Crawl4AI 适合以下场景:
• AI 研究 :需要大量网页数据用于语言模型训练的研究人员和开发者。
• 数据科学 :需要高效从网页中提取数据进行分析的科学家或分析师。
• 开发者 :希望在应用程序中实现网页数据抓取和自动化信息采集的开发者。
总结
Crawl4AI 是一个功能强大且易用的网页爬虫工具,它为大型语言模型和 AI 应用量身打造,提供了丰富的功能和灵活的配置选项。
从结构化输出到多种提取策略,Crawl4AI 为开发者在数据抓取领域带来了极大的便利。
GitHub: https://github.com/unclecode/crawl4ai
●
●
●
●
如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️
在看你就赞赞我!