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。
了解更多
- 文档网站: https://docs.crawl4ai.com/
- Colab 示例: https://colab.research.google.com/drive/1SgRPrByQLzjRfwoRNq1wSGE9nYY_EE8C
- GitHub 仓库: https://github.com/unclecode/crawl4ai (问题、示例、发布说明)
- 社区: Discord, X (前 Twitter), LinkedIn (链接在 README 中)。
授权与社区
Crawl4AI 以 MIT License 发布并积极维护(频繁的安全修补,v0.9.x 系列)。它拥有大量的星数 (>50k) 以及针对个人与企业的赞助计划。
相关
- 项目
- 项目
- 项目
- 项目
- 项目