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 和 AI 代理打造的开源网页爬虫与抓取工具
它是什么 – 一个 Python 库(也提供 Docker 服务器和托管云服务),可以抓取任何网页,在需要时运行真实浏览器,并返回干净、适合 LLM 使用的 Markdown 文档。它还可以使用 CSS/XPath 规则或您指定的任何 LLM 提取结构化数据 (JSON),并支持深度爬取、自适应爬取和批处理。
为什么重要 – 大型语言模型最适合处理简洁、结构良好的文本。Crawl4AI 会移除菜单、页脚和其他样板内容,添加引用链接,并能生成符合您定义架构的 JSON。这使其成为检索增强生成 (RAG) 流水线、自主代理或任何数据摄取工作流的实用前端。
如何使用
- 库 –
pip install -U crawl4ai;执行crawl4ai-setup以安装 Playwright 浏览器。然后使用AsyncWebCrawler(或同步版本)来获取result.markdown或result.extracted_content。 - CLI –
crwl <url> -o markdown或crwl … --deep‑crawl bfs --max-pages 10。 - Docker 服务器 – 启动
unclecode/crawl4ai并设置 Token,即可从任何语言调用其 REST 端点(/md、/html、/crawl、/screenshot等)。 - Crawl4AI Cloud – 几秒钟内获取免费 API 密钥,即可调用
https://api.crawl4ai.com/scrape(或/search、/answer、/extract),无需自行管理浏览器。
主要功能(如 README 所列)
- Markdown 生成 – 干净的标题、表格、代码块、引用列表;可配置过滤器(
PruningContentFilterLXML、BM25ContentFilter、LLMContentFilter)。 - 结构化提取 – 用于快速、无需 LLM 提取的 CSS/XPath/Regex 架构;适用于任何 LLM 提供者的
LLMExtractionStrategy;自动架构生成;分块与余弦相似度搜索。 - 浏览器控制 – 持久化配置文件、CDP 远程浏览器、会话处理、代理支持、隐身/未检测模式、Chromium/Firefox/WebKit。
- 爬取 – BFS/DFS/最佳优先策略、恢复状态、在收集足够信息后停止的自适应爬取、通过网站地图或 Common Crawl 进行 URL 发现、针对无限滚动网站的全页滚动、截图/PDF、媒体提取、缓存、批处理 (
arun_many)。 - 自托管 – 安全的 Token 保护 REST API、用于 Claude Code/其他代理的 MCP 集成、监控仪表板/游乐场、AMD64 与 ARM64 Docker 镜像。
- 云端专属附加功能 – 无浏览器网页搜索 (
/search)、直接回答 (/answer)、无需您自备 LLM 密钥的提取、自动处理 JS 密集型网站与机器人防御墙、一行指令 MCP 注册。
安装快速入门
pip install -U crawl4ai
crawl4ai-setup # 安装 Playwright 浏览器
# 可选健康检查
crawl4ai-doctor
或使用 Docker:
export CRAWL4AI_API_TOKEN=$(openssl rand -hex 32)
docker run -d -p 11235:11235 \
-e CRAWL4AI_API_TOKEN=$CRAWL4AI_API_TOKEN \
unclecode/crawl4ai:latest
典型代码片段
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
res = await crawler.arun(url="https://news.ycombinator.com")
print(res.markdown) # 干净且适合 LLM 的 markdown
asyncio.run(main())
授权 – Apache 2.0(可选择是否加上徽章或文字署名)。
社区 – Discord、GitHub issues、贡献指南,以及协助资助持续开发的免费额度云端方案。
相关
- 项目
- 项目
- 项目
- 项目
- 项目