🚀🤖 Crawl4AI:开源 LLM 友好型网络爬虫和抓取工具。

Crawl4AI 是 GitHub 上排名第一的热门代码库,由充满活力的社区积极维护。它提供速度超快、AI 就绪的 Web 爬取功能,专为 LLM、AI 代理和数据管道量身定制。Crawl4AI 开源、灵活,专为实时性能而构建,为开发者提供无与伦比的速度、精度和部署便捷性。

✨ 查看最新更新 v0.6.0

🎉 0.6.0 版本现已发布!此候选版本引入了支持地理位置和区域设置的全球感知爬取功能、表格到 DataFrame 的提取、带预热功能的浏览器池、网络和控制台流量捕获、用于 AI 工具的 MCP 集成,以及全新改版的 Docker 部署!阅读发行说明 →

🤓我的个人故事

 

 

 

 

🧐 为什么选择 Crawl4AI?

  1. 专为 LLM 打造:创建针对 RAG 和微调应用程序优化的智能、简洁的 Markdown。
  2. 闪电般快速:以实时、经济高效的性能以 6 倍的速度提供结果。
  3. 灵活的浏览器控制:提供会话管理、代理和自定义挂钩,实现无缝数据访问。
  4. 启发式智能:使用先进的算法进行高效提取,减少对昂贵模型的依赖。
  5. 开源且可部署:完全开源,无需 API 密钥 - 可用于 Docker 和云集成。
  6. 蓬勃发展的社区:由充满活力的社区和排名第一的 GitHub 存储库积极维护。

🚀 快速入门

  1. 安装Crawl4AI:
# Install the package
pip install -U crawl4ai

# For pre release versions
pip install crawl4ai --pre

# Run post-installation setup
crawl4ai-setup

# Verify your installation
crawl4ai-doctor
 

如果您遇到任何与浏览器相关的问题,您可以手动安装它们:

python -m playwright install --with-deps chromium
 
  1. 使用 Python 运行简单的网络爬虫:
import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())
 
  1. 或者使用新的命令行界面:
# Basic crawl with markdown output
crwl https://www.nbcnews.com/business -o markdown

# Deep crawl with BFS strategy, max 10 pages
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

# Use LLM extraction with a specific question
crwl https://www.example.com/products -q "Extract all product prices"
 

✨ 特点

📝 Markdown 生成
  •  
  •  
  •  
  •  
  •  
📊结构化数据提取
  •  
  •  
  •  
  •  
  •  
🌐浏览器集成
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
🔎爬取和抓取
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
🚀部署
  •  
  •  
  •  
  •  
  •  
🎯附加功能
  •  
  •  
  •  
  •  
  •  
  •  
  •  

现在就尝试一下!

✨ 尝试一下

✨ 访问我们的文档网站

安装🛠️

Crawl4AI 提供灵活的安装选项,以适应各种用例。您可以将其安装为 Python 包,也可以使用 Docker 安装。

🐍使用 pip

 

 

 

 
 

 

 

  1.  

     
     
  2.  

     
     

 


 

 

 
 

 

 

 
 

 

 
 
🐳 Docker 部署

 

 

 

  •  
  •  
  •  
  •  
  •  
  •  

 

 
 

 


快速测试

运行快速测试(适用于两种 Docker 选项):

import requests

# Submit a crawl job
response = requests.post(
    "http://localhost:11235/crawl",
    json={"urls": "https://example.com", "priority": 10}
)
task_id = response.json()["task_id"]

# Continue polling until the task is complete (status="completed")
result = requests.get(f"http://localhost:11235/task/{task_id}")
 

更多示例,请参阅Docker 示例。高级配置、环境变量及使用示例,请参阅Docker 部署指南