unclecode/crawl4ai

Open-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.

Crawl4AI – 适合 LLM 的网页爬虫与抓取工具

Crawl4AI 是一个开源的 Python 库(及 Docker 服务),能将任意网页转换为干净、结构化的 Markdown,适用于检索增强生成 (RAG)、自主代理程序或任何下游数据管线。它结合了快速、异步驱动的无头浏览器后端 (Playwright) 与可选的 LLM 引导提取功能,让开发者能精细控制爬取、内容过滤与输出格式。


功能概览

能力 运作方式
Markdown 生成 启发式过滤器 (Pruning, BM25) 产生 raw 与 fit Markdown,加入编号引用,并保留标题、表格与代码块。
结构化提取 内置 LLM 驱动提取(支持任何 LLM API)以及基于 CSS/XPath 的结构提取,以输出 JSON 对象。
浏览器整合 管理 Playwright 浏览器 (Chromium, Firefox, WebKit),支持会话、代理、标头与用户脚本;可无头执行或在远程 Chrome DevTools 会话中执行。
深度 / 动态爬取 执行 JavaScript,处理延迟加载、无限滚动、截图、媒体下载,并能以 BFS/DFS 策略追踪链接。
部署性 可通过 pip 安装,提供基于 FastAPI 的 Docker 镜像,包含 JWT 验证、监控仪表板与云端就绪配置。
安全性 近期版本专注于强化 Docker API(默认开启验证、SSRF 防护、环境变量隔离)。

快速开始 (Python)

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)   # 干净的 Markdown,准备喂给 LLM

asyncio.run(main())

快速开始 (CLI)

# 安装
pip install -U crawl4ai
crawl4ai-setup   # 安装 Playwright 浏览器

# 基本爬取 → markdown
crwl https://www.nbcnews.com/business -o markdown

# 深度爬取 (BFS, 最多 10 页)
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

# LLM 引导提取 (基于问题)
crwl https://example.com/products -q "Extract all product prices"

安装选项

方法 指令 备注
Pip (异步, 默认) pip install -U crawl4ai 安装 Playwright 并通过 crawl4ai-setup 设置浏览器。
Pip (同步 – 已弃用) pip install crawl4ai[sync] 使用 Selenium;将在未来版本中移除。
Docker docker pull unclecode/crawl4ai:latest && docker run -d -p 11235:11235 unclecode/crawl4ai:latest 提供 FastAPI 服务器、JWT 验证、监控仪表板与游乐场。
开发 / 额外功能 pip install -e .[torch,transformer,cosine,all] 加入可选的 ML 库、余弦相似度工具等。

核心功能 (摘要)

  • 适合 LLM 的 Markdown – 干净的标题、表格、代码块与编号引用。
  • 快速异步爬取 – 浏览器池、缓存、预取模式 (URL 发现速度快 5-10 倍)。
  • 完全控制 – 自定义标头、Cookie、代理、用户脚本与每步骤钩子。
  • 适应性智能 – 学习网站模式、修剪无关内容、支持基于查询的分块。
  • 媒体与 PDF 处理 – 提取图片、音频、视频,并可渲染 PDF。
  • Docker 化 API – JWT 保护的端点、实时仪表板、多架构支持。
  • 安全优先发布 – 近期版本修复了 SSRF、RCE、XSS 与环境泄露漏洞。

何时使用 Crawl4AI

  • 建立 RAG 管线,需要从多个网站获取干净的 Markdown。
  • 运行 自主代理程序,需要浏览网页并获取结构化输出。
  • 抓取动态、大量 JavaScript 的网页,无需编写自定义 Selenium 代码。
  • 在防火墙后部署 自托管爬虫服务 (Docker API)。
  • 通过 CSS/XPath 结构从重复的网页模式中提取 结构化 JSON。

了解更多


授权与社区

Crawl4AI 以 MIT License 发布并积极维护(频繁的安全修补,v0.9.x 系列)。它拥有大量的星数 (>50k) 以及针对个人与企业的赞助计划。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目