crawl4ai 详细介绍与使用

bluesky20天前 ⋅ 765 阅读

Crawl4AI 是一个开源的、为人工智能(AI)设计的、快速且智能的网络爬虫工具,旨在帮助开发者和AI代理进行数据抓取和处理。以下是对 Crawl4AI 的详细介绍:

特点和优势

  1. 为大型语言模型(LLMs)构建:生成智能、简洁的Markdown,优化用于RAG(Retrieval-Augmented Generation)和微调应用。
  2. 极速性能:提供实时、成本效益高的6倍快速结果。
  3. 灵活的浏览器控制:提供会话管理、代理和自定义钩子,实现无缝数据访问。
  4. 启发式智能:使用先进算法进行高效提取,减少对昂贵模型的依赖。
  5. 开源且可部署:完全开源,无需API密钥,支持Docker和云集成。
  6. 活跃社区:由活跃社区积极维护,是GitHub上排名第一的趋势仓库。

快速开始

  • 安装Crawl4AI
    pip install crawl4ai
    crawl4ai-setup # 设置浏览器
    
  • 运行简单的网络爬取

    import asyncio
    from crawl4ai import AsyncWebCrawler, CacheMode
    
    async def main():
        async with AsyncWebCrawler(verbose=True) as crawler:
            result = await crawler.arun(url="https://www.nbcnews.com/business")
            print(result.markdown_v2.raw_markdown)
    
    if __name__ == "__main__":
        asyncio.run(main())
    

功能

  • Markdown生成:生成干净、结构化的Markdown,基于启发式过滤去除噪音和不相关部分,转换页面链接为编号引用列表,并支持自定义Markdown生成策略。
  • 结构化数据提取:支持所有LLMs进行结构化数据提取,实现基于用户查询的语义提取,快速基于CSS的选择器数据提取,并定义自定义模式以从重复模式中提取结构化JSON。
  • 浏览器集成:使用用户拥有的浏览器,完全控制,避免机器人检测,支持远程浏览器控制,会话管理,代理支持,完整的浏览器控制,多浏览器支持和动态视口调整。
  • 爬取与抓取:支持媒体提取,动态爬取,页面截图,原始数据爬取,全面链接提取,自定义钩子,缓存,元数据提取,iframe内容提取,懒加载处理和全页扫描。
  • 部署:提供Docker化的设置,API网关,可扩展架构和DigitalOcean部署。

安装

Crawl4AI 提供灵活的安装选项,包括作为Python包或使用Docker。

  • 使用pip:基本安装、同步版本安装和开发安装。
  • Docker:从Docker Hub拉取或从仓库构建。

高级使用示例

提供了多种示例,包括启发式Markdown生成、执行JavaScript和无LLMs的结构化数据提取、使用LLMs提取结构化数据以及使用自定义用户配置文件的浏览器。

最近更新

包括可配置的爬虫和浏览器、会话管理增强、增强型截图、全页PDF导出、懒加载处理、文本模式、动态视口调整、全页扫描和会话重用等。

文档和路线图

Crawl4AI 正在进行主要的文档更新,以反映最近的更新和改进。当前文档包括安装说明、高级功能和API参考。

开发待办事项

包括图爬虫、基于问题的爬虫、知识优化爬虫、代理爬虫、自动模式生成器、特定领域的抓取器、Web嵌入索引、交互式游乐场、性能监控器、云集成和赞助计划。

贡献

Crawl4AI 欢迎开源社区的贡献,并提供了贡献指南。

许可

Crawl4AI 在Apache 2.0许可下发布。

联系

对于问题、建议或反馈,可以通过GitHub、Twitter或网站联系维护者。

使命

Crawl4AI 的使命是通过将数字足迹转化为结构化、可交易的资产来解锁个人和企业数据的价值。Crawl4AI 通过开源工具赋予个人和组织提取和结构化数据的能力,促进共享数据经济。

这个项目提供了一个强大的工具集,用于从网络中提取和处理数据,特别适用于需要大量数据的AI应用和研究。

https://github.com/unclecode/crawl4ai

全部评论: 0

    相关推荐