这个项目能做什么

Crawl4AI是一款开源Python库和CLI工具,专为网络爬取与抓取设计,能够生成干净、适合LLM使用的Markdown输出。它广泛用于构建RAG管道、AI代理和数据提取工作流。 ## 概述 Crawl4AI将网页转化为适合下游AI处理的结构化Markdown。支持程序化Python调用和命令行界面,可选LLM驱动的结构化数据提取以及基于CSS/XPath的模式提取。 ## 核心能力 ### Markdown生成 - 生成干净、结构化的Markdown,包含标题、表格和代码块 - Fit Markdown模式应用启发式过滤去除噪音和不相关内容 - 可引用输出的链接转换为编号参考文献 - 基于BM25的内容过滤,实现查询相关提取 - 可插拔的Markdown生成策略 ### 结构化数据提取 - 通过LiteLLM进行LLM驱动提取,支持开源和专有模型 - 使用CSS选择器和XPath基于JSON schema提取 - 分块策略(基于主题、正则、句子级)用于定向处理 - 余弦相似度搜索实现语义内容匹配 ### 浏览器集成 - 由Playwright驱动的异步浏览器池 - 托管浏览器模式,使用用户自有的浏览器配置文件,支持已保存的认证状态和Cookie - 通过Chrome DevTools Protocol远程控制浏览器 - 支持带认证的代理 - 隐身模式降低机器人检测风险 - 多浏览器支持(Chromium、Firefox、WebKit) - 动态视口调整 ### 爬取特性 - 支持JavaScript执行,异步/同步等待动态内容 - 爬取过程中截图 - 媒体提取(图片、音频、视频、响应式srcset/picture格式) - 原始HTML和本地文件处理 - 全面的链接提取,包括iframe内容 - 懒加载处理和全页扫描支持无限滚动 - 每个爬取步骤的钩子自定义 - 内置缓存 ### 部署 - Docker化的FastAPI服务器用于API工作流 - JWT令牌认证(最近版本默认启用) - 监控仪表板和交互式测试环境位于/dashboard和/playground - MCP集成用于AI工具连接 - 多架构Docker镜像(AMD64/ARM64) - 支持云部署 ## 安装 ```bash pip install -U crawl4ai crawl4ai-setup ``` 手动安装Playwright: ```bash python -m playwright install --with-deps chromium ``` ## 使用 ### Python API ```python import asyncio from crawl4ai import AsyncWebCrawler async def main(): async with AsyncWebCrawler() as crawler: result = await crawler.arun(url="https://example.com") print(result.markdown) asyncio.run(main()) ``` ### 命令行 ```bash # 基础爬取 crwl https://example.com -o markdown # 深度爬取 crwl https://example.com --deep-crawl bfs --max-pages 10 # LLM提取 crwl https://example.com -q "Extract all product prices" ``` ### Docker ```bash docker pull unclecode/crawl4ai:latest docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest ``` 然后访问http://localhost:11235/dashboard查看监控界面,或访问http://localhost:11235/playground进行交互式测试。 ## 项目详情 - 仓库:unclecode/crawl4ai - PyPI:crawl4ai - 文档:https://docs.crawl4ai.com/ - Discord社区:https://discord.gg/jP8KfhDhyN - 赞助:https://github.com/sponsors/unclecode 该项目强调开放性和经济实惠,定位为商业网络提取API的自托管替代方案。已积累超过50,000个GitHub星标,并通过定期发布积极维护安全性。