Crawl4AI:把网页变成大模型能直接用的 Markdown

一个开源的网页爬虫工具,在 GitHub 上拿到了近 7 万 Star。

正文顶部截图

Crawl4AI 做的事情很直接:把网页内容抓取下来,转换成结构化的 Markdown 格式。这个格式正好是大语言模型处理文本时最舒服的输入形式。

做 RAG 应用、搭 AI Agent、建数据管线,都需要从网页拿干净的文本数据。传统爬虫给你的是一堆 HTML 标签,还得自己清洗。Crawl4AI 省掉了这一步,抓完就是可用的 Markdown。

README区域截图

核心能力

Crawl4AI 用异步浏览器池来抓取页面,速度比一般的同步爬虫快不少。它底层基于 Playwright,支持 Chromium、Firefox 和 WebKit 三种浏览器内核。

在内容提取方面,它提供了两种 Markdown 输出:一种是完整的原始 Markdown,另一种叫 Fit Markdown,会用启发式算法过滤掉导航栏、广告、页脚这些噪音内容,只保留正文部分。如果你做 RAG,Fit Markdown 能省掉很多预处理工作。

结构化数据提取也值得说。除了常见的 CSS 选择器和 XPath,它还支持用 LLM 来提取结构化 JSON。你可以定义一个 schema,让模型按照你要的格式从页面里抽取数据。对于不规则的页面,这比写选择器靠谱。

深度爬取功能可以递归地抓取整个站点,支持 BFS 和 DFS 两种策略,还能设置最大页面数。v0.8.0 加入了崩溃恢复机制,长时任务中断后可以从断点继续,不用从头来。

安装和使用

安装就一行命令:

pip install -U crawl4ai
crawl4ai-setup

crawl4ai-setup 会自动安装和配置 Playwright 的浏览器。装完之后,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())

不想写代码的话,它还提供了命令行工具 crwl

crwl https://www.nbcnews.com/business -o markdown

深爬整个站点也没问题:

crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

甚至可以直接用自然语言提问,让它帮你从页面里提取特定信息:

crwl https://www.example.com/products -q "Extract all product prices"

Docker 部署

Crawl4AI 有官方的 Docker 镜像,拉下来就能跑:

docker pull unclecode/crawl4ai:latest
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest

跑起来之后,访问 localhost:11235 有一个监控面板,能看到系统指标和浏览器池的状态。还有个交互式 Playground,可以在线测试爬取请求,生成对应的调用代码。

Docker 模式走的是 FastAPI 服务,支持通过 HTTP 接口提交爬取任务。v0.9 版本对安全做了加固,默认开启认证,服务只绑定本地回环地址,需要配 token 才能远程访问。

它还支持 MCP 协议,可以直接对接 Claude Code 这类 AI 工具,让模型自己决定什么时候该爬什么页面。

进阶用法

页面上有动态内容的话,Crawl4AI 可以执行 JavaScript 来触发加载。你传一段 JS 代码进去,它会在浏览器里执行,等内容渲染完再抓取。

代理、Cookie、自定义 Header 这些常规操作都支持。它还有个隐身模式,通过模拟真实用户的浏览器行为来规避反爬检测。

抓取结果除了 Markdown,还能拿到页面截图、所有链接的分类列表(内部链接、外部链接、iframe 内链接分开)、图片和媒体文件的地址、页面元数据等。

缓存机制也做了,重复抓取同一个 URL 会直接用缓存,不发请求。

Crawl4AI 是少有的专门为 LLM 场景设计的爬虫工具。近 7 万 Star 说明了需求确实存在:大家需要一个能把网页干干净净喂给模型的工具,而不是自己写一堆 HTML 解析逻辑。

Crawl4AI 是少有的专门为 LLM 场景设计的爬虫工具。近 7 万 Star 说明了需求确实存在:大家需要一个能把网页干干净净喂给模型的工具,而不是自己写一堆 HTML 解析逻辑。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐