当前位置: 欣欣网 > 码农

4.2K Star!Crawl4AI:几行代码就可实现强大的网页爬虫!

2024-09-29码农

在现代 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=Trueas 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


    如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️

    在看你就赞赞我!