Crawl4AI:一款开源的AI友好型网络爬虫和抓取器
Crawl4ai是什么?
Crawl4AI 是一款开源的 AI 友好型网络爬虫和抓取器,GitHub 上的热门项目,专为 LLM、AI 代理和数据管道设计。它支持快速、灵活的网页数据提取,生成适合 LLM 的 Markdown 格式数据,并具备结构化数据提取、浏览器集成、动态内容处理等功能。
Crawl4AI功能
Markdown 生成
清洁 Markdown:生成结构清晰、格式准确的 Markdown 文本。
适配 Markdown:基于启发式算法过滤噪声和无关内容,生成适合 AI 处理的 Markdown。
引用和参考:将页面链接转换为编号参考列表,并提供清晰的引用。
自定义策略:用户可以创建自己的 Markdown 生成策略,以满足特定需求。
BM25 算法:基于 BM25 算法过滤内容,提取核心信息,去除无关内容。
结构化数据提取
LLM 驱动提取:支持所有 LLM(开源和专有)进行结构化数据提取。
分块策略:实现基于主题、正则表达式和句子级别的分块处理。
余弦相似度:基于用户查询找到相关的内容块,实现语义提取。
CSS 基础提取:使用 XPath 和 CSS 选择器进行快速模式化数据提取。
模式定义:定义自定义模式,从重复模式中提取结构化 JSON 数据。
浏览器集成
托管浏览器:使用用户自己的浏览器,避免被检测为爬虫。
远程浏览器控制:通过 Chrome 开发者工具协议连接到远程浏览器,进行大规模数据提取。
浏览器配置文件:创建和管理持久化配置文件,保存认证状态、Cookie 和设置。
会话管理:保留浏览器状态并重复使用,以支持多步骤爬取。
代理支持:无缝连接到带认证的代理,确保安全访问。
完整浏览器控制:修改请求头、Cookie、用户代理等,以定制爬取设置。
多浏览器支持:兼容 Chromium、Firefox 和 WebKit。
动态视口调整:自动调整浏览器视口以匹配页面内容,确保完整渲染和捕获所有元素。
爬取与抓取
媒体支持:提取图片、音频、视频以及响应式图片格式(如 srcset 和 picture)。
动态爬取:执行 JavaScript 并等待异步或同步内容,以提取动态内容。
截图:在爬取过程中捕获页面截图,用于调试或分析。
原始数据爬取:直接处理原始 HTML(raw:)或本地文件(file://)。
全面链接提取:提取内部、外部链接以及嵌入的 iframe 内容。
自定义钩子:在每个步骤定义钩子,以自定义爬取行为。
缓存:缓存数据以提高速度,避免重复抓取。
元数据提取:从网页中提取结构化元数据。
iframe 内容提取:无缝提取嵌入的 iframe 内容。
懒加载处理:等待图片完全加载,确保不因懒加载而遗漏内容。
全页扫描:模拟滚动以加载和捕获所有动态内容,适用于无限滚动页面。
其他功能
隐身模式:通过模仿真实用户行为避免被检测为爬虫。
基于标签的内容提取:根据自定义标签、标题或元数据细化爬取内容。
链接分析:提取并分析所有链接,进行详细的数据探索。
错误处理:强大的错误管理,确保无缝执行。
CORS 和静态服务:支持基于文件系统的缓存和跨域请求。
清晰文档:简化的入门和高级使用指南。
Crawl4AI优势
为 LLM 量身定制:生成适合 RAG 和微调应用的智能、简洁 Markdown。
极速性能:实时、成本高效的性能,速度比传统方法快 6 倍。
灵活的浏览器控制:提供会话管理、代理支持和自定义钩子,确保无缝数据访问。
启发式智能:使用先进算法高效提取内容,减少对昂贵模型的依赖。
开源且可部署:完全开源,无需 API 密钥,支持 Docker 和云集成。
Crawl4AI应用场景
AI 和机器学习:为 LLM 提供高质量的训练数据,支持自然语言处理和知识图谱构建。
数据管道:构建高效的数据管道,实时提取和处理网页数据。
内容提取:从网页中提取文本、图片、视频等多媒体内容,用于内容管理系统。
学术研究:帮助研究人员从网页中提取论文和研究数据,支持学术研究工作。
商业智能:提取市场数据、产品信息和用户评论,支持商业决策。
新闻媒体:快速抓取新闻内容,支持新闻聚合和内容分析。
Crawl4AI安装使用教程
安装
基本安装:
pip install crawl4ai crawl4ai-setup # 设置浏览器
安装预发布版本:
pip install crawl4ai --pre
开发安装:
git clone https://github.com/unclecode/crawl4ai.git cd crawl4ai pip install -e . # 基本安装 pip install -e ".[all]" # 安装所有可选功能
Github地址:https://github.com/unclecode/crawl4ai
Crawl4AI文档:https://docs.crawl4ai.com/
Discord:https://discord.com/invite/jP8KfhDhyN