[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EP0NW59WPCNBCDGJADRWXF":3,"skill-same:01M6EP0NW59WPCNBCDGJADRWXF":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6EP0NW59WPCNBCDGJADRWXF","crawl4ai",null,"功能强大的开源网页抓取和数据处理工具，支持6种工作模式，包括截图、PDF导出和智能爬取","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fck991357\u002Fcrawl4ai\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[5,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"deep","content-extraction","deep-crawling","structured-data-extraction","pdf-export","web-scraping","processing","data-extraction","structured-data","PDF","export","scraping","detection","data","batch-processing","batch","screenshot","web","automation","2026-11-10 10:12:30",false,"---\nname: crawl4ai\ndescription: 功能强大的开源网页抓取和数据处理工具，支持6种工作模式，包括截图、PDF导出和智能爬取\ntool_name: crawl4ai\ncategory: web-crawling\npriority: 9\ntags: [\"web-scraping\", \"screenshot\", \"pdf-export\", \"structured-data-extraction\", \"deep-crawling\", \"batch-processing\", \"content-extraction\", \"anti-detection\", \"automation\"]\nversion: 1.2\n---\n\n# Crawl4AI 网页抓取工具指南\n\nCrawl4AI 是一个功能强大的开源网页抓取和数据处理工具，支持 6 种不同的工作模式。所有二进制输出（截图、PDF）都以 base64 编码返回，便于模型处理。\n\n## ? 【至关重要】通用调用结构\n\n**所有对 `crawl4ai` 的调用都必须严格遵循以下嵌套结构！** 这是一个通用规则，适用于所有模式。\n\n```json\n{\n  \"mode\": \"\u003C模式名称>\",\n  \"parameters\": {\n    \"param1\": \"value1\",\n    \"param2\": \"value2\"\n    \u002F\u002F ...具体模式的所有参数都放在这里\n  }\n}\n```\n\n### ❌ 常见致命错误：未嵌套参数\n\n```json\n\u002F\u002F 这是一个绝对会导致失败的错误调用！\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\" \u002F\u002F 错误！'url' 必须在 'parameters' 内部\n}\n```\n\n### ✅ 正确的基础调用模式\n\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n## ? 新增智能分级系统\n\n**版本 1.2 重要更新：** 新增智能分级抓取系统，自动适应不同网站类型：\n\n| 配置等级 | 适用场景 | 特点 | 性能表现 |\n|---------|---------|------|----------|\n| **标准配置** | 普通静态网站 | 高性能，快速抓取 | ⚡ 快速 (90秒超时) |\n| **增强配置** | JS网站、反爬网站 | 加强反爬，完整渲染 | ?️ 稳健 (120秒超时) |\n| **降级配置** | 极端复杂网站 | 最大化兼容性 | ? 保守 (180秒超时) |\n\n**智能识别能力：**\n- ✅ 自动检测 JavaScript 驱动网站（React、Vue、Angular等）\n- ✅ 识别反爬机制（Cloudflare、reCAPTCHA等）\n- ✅ 缓存成功配置，加速后续抓取\n- ✅ 失败自动降级，提高成功率\n\n## ? 可用模式快速选择指南\n\n| 模式 | 功能描述 | 主要用途 | 复杂度 | 推荐场景 |\n|------|----------|----------|---------|----------|\n| `scrape` | 抓取单个网页 | 获取页面内容、截图、PDF | ⭐⭐ | 单页面内容获取 |\n| `deep_crawl` | 深度智能爬取 | 使用策略深度爬取网站 | ⭐⭐⭐⭐ | 网站内容探索 |\n| `batch_crawl` | 批量 URL 处理 | 同时处理多个 URL | ⭐⭐ | 批量数据收集 |\n| `extract` | 结构化数据提取 | 基于 CSS 或 LLM 提取数据 | ⭐⭐⭐ | 特定数据提取 |\n| `pdf_export` | PDF 导出 | 将网页导出为 PDF | ⭐ | 文档保存 |\n| `screenshot` | 截图捕获 | 捕获网页截图 | ⭐ | 视觉证据保存 |\n\n**注意：** `crawl` 模式已在最新版本中移除，请使用 `scrape` 或 `deep_crawl` 替代。\n\n## ? 使用场景快速指南\n\n### 场景1：快速获取页面内容\n```json\n{\n  \"mode\": \"scrape\", \n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"format\": \"markdown\",\n    \"word_count_threshold\": 10,\n    \"include_links\": true,\n    \"include_images\": true\n  }\n}\n```\n\n### 场景2：批量收集产品信息\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fproduct1\",\n      \"https:\u002F\u002Fexample.com\u002Fproduct2\",\n      \"https:\u002F\u002Fexample.com\u002Fproduct3\"\n    ],\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n### 场景3：深度研究某个网站\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fdocs\",\n    \"max_depth\": 3,\n    \"max_pages\": 80,\n    \"keywords\": [\"教程\", \"指南\", \"API\"],\n    \"strategy\": \"best_first\"\n  }\n}\n```\n\n### 场景4：提取结构化数据\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".article-content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"content\",\n          \"selector\": \".content\",\n          \"type\": \"text\"\n        }\n      ]\n    },\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n### 场景5：保存网页证据\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"return_screenshot\": true,\n    \"return_pdf\": true,\n    \"screenshot_quality\": 90,\n    \"screenshot_max_width\": 1200\n  }\n}\n```\n\n## ? 详细模式说明\n\n### 1. 抓取单个网页 (`scrape`)\n\n**智能分级抓取**：新版工具自动根据网站类型选择最佳配置方案。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"format\": \"markdown\",\n    \"css_selector\": \".article-content\",\n    \"include_links\": true,\n    \"include_images\": true,\n    \"return_screenshot\": true,\n    \"return_pdf\": false,\n    \"screenshot_quality\": 80,\n    \"screenshot_max_width\": 1200,\n    \"word_count_threshold\": 10,\n    \"exclude_external_links\": true\n  }\n}\n```\n\n**❌ 错误示例（参数未嵌套）:**\n```json\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\", \u002F\u002F 错误！缺少parameters包装\n  \"format\": \"markdown\"\n}\n```\n\n**智能分级抓取原理：**\n1. **自动识别**：工具会分析URL特征，判断网站类型\n2. **分级配置**：\n   - **标准配置**：普通网站，90秒超时，高性能\n   - **增强配置**：JS网站\u002F反爬网站，120秒超时，完整渲染\n   - **降级配置**：极端复杂网站，180秒超时，最大化兼容\n3. **失败降级**：如果当前配置失败，自动尝试更兼容的配置\n4. **配置缓存**：成功配置会缓存，后续同域名请求更快\n\n**参数说明:**\n- `url` (必需): 要抓取的网页 URL，必须以 `http:\u002F\u002F` 或 `https:\u002F\u002F` 开头\n- `format`: 输出格式，`markdown`(默认)\u002F`html`\u002F`text`\n- `css_selector`: 提取特定内容的 CSS 选择器\n- `include_links`: 是否在输出中包含链接，默认 true\n- `include_images`: 是否在输出中包含图片，默认 true\n- `return_screenshot`: 是否返回截图(base64)，默认 false\n- `return_pdf`: 是否返回 PDF(base64)，默认 false\n- `screenshot_quality`: 截图质量(10-100)，默认 70\n- `screenshot_max_width`: 截图最大宽度，默认 1920\n- `word_count_threshold`: 内容块最小单词数，默认 10\n- `exclude_external_links`: 是否排除外部链接，默认 true\n\n### 2. 深度网站爬取 (`deep_crawl`)\n\n使用智能策略深度爬取整个网站，支持关键词评分和 URL 过滤。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"max_depth\": 3,\n    \"max_pages\": 80,\n    \"strategy\": \"best_first\",\n    \"include_external\": false,\n    \"keywords\": [\"产品\", \"价格\", \"规格\"],\n    \"url_patterns\": [\"\u002Fproducts\u002F\", \"\u002Fdocs\u002F\"],\n    \"stream\": false\n  }\n}\n```\n\n**增强功能：**\n- ✅ **Context错误自动恢复**：捕获并处理Crawl4AI内部错误\n- ✅ **智能超时处理**：400秒超时保护，返回部分结果\n- ✅ **流式心跳**：定期进度更新，避免Cloudflare 524错误\n\n**参数说明:**\n- `url` (必需): 起始 URL\n- `max_depth`: 最大爬取深度，默认 3\n- `max_pages`: 最大页面数，默认 80\n- `strategy`: 爬取策略，`bfs`(默认)\u002F`dfs`\u002F`best_first`\n- `include_external`: 是否跟踪外部链接，默认 false\n- `keywords`: 用于相关性评分的关键词列表\n- `url_patterns`: URL 模式过滤列表\n- `stream`: 是否流式返回结果，默认 false\n\n### 3. 批量 URL 处理 (`batch_crawl`)\n\n同时处理多个 URL，适用于批量数据收集。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fpage1\",\n      \"https:\u002F\u002Fexample.com\u002Fpage2\",\n      \"https:\u002F\u002Fexample.com\u002Fpage3\"\n    ],\n    \"stream\": false,\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n**❌ 错误示例（urls不是数组）:**\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": \"https:\u002F\u002Fexample.com\u002Fpage1\" \u002F\u002F 错误！urls必须是数组\n  }\n}\n```\n\n**安全限制：**\n- ⚡ 并发数硬性上限：4（无论参数设置多高）\n- ⏰ 整体超时：300秒（5分钟）\n- ? 最大页面数：20（防止过度请求）\n\n**参数说明:**\n- `urls` (必需): URL 列表，必须是数组格式\n- `stream`: 是否流式返回，默认 false\n- `concurrent_limit`: 最大并发数，默认 4 (已根据服务器内存升级调整，并设置了硬性上限)\n\n### 4. 结构化数据提取 (`extract`)\n\n从网页中提取结构化数据，**主要依赖精确的 CSS 选择器**。\n\n**✅ 正确示例 (CSS 提取):**\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".article-content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"publish_date\",\n          \"selector\": \".date\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"content\",\n          \"selector\": \".content\",\n          \"type\": \"text\"\n        }\n      ]\n    },\n    \"css_selector\": \".article-content\",\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n**⚠️ 关键限制与最佳实践：**\n- **AI 智能提取限制**: `crawl4ai` 的 `extraction_type: \"llm\"` 模式**尚未部署**有效的 LLM 实例。\n- **注意事项做法**: **`crawl4ai` 提取场景**: 仅适用于您能提供**精确 CSS 选择器**的简单、结构固定的页面。无法实现**仅凭自然语言描述和 JSON Schema**（即不提供 CSS 选择器）从复杂页面（如表格、列表）中智能提取数据。\n\n**?️ 自动修复机制：**\n我们的工具会自动修复常见的 schema 格式问题：\n- 如果缺少 `baseSelector`，自动设置为 `css_selector` 或 `'body'`\n- 如果缺少 `fields`，自动创建默认字段配置  \n- 如果缺少 `name`，自动设置为 `\"ExtractedData\"`\n- 如果 schema 是数组格式，自动转换为对象格式\n\n**? 最佳实践：** 虽然工具会自动修复，但提供完整的 schema 可以获得更精确的提取结果。\n\n**参数说明:**\n- `url` (必需): 要提取的网页 URL\n- `schema_definition` (必需): 定义输出结构的 JSON schema\n- `css_selector`: 基础 CSS 选择器（CSS 提取时使用）\n- `extraction_type`: 提取类型，`css`(默认)\u002F`llm`\n- `prompt`: LLM 提取的提示语\n\n## ? Schema Definition 结构说明\n\n### CSS 提取模式必需的 schema 结构：\n```json\n{\n  \"name\": \"YourSchemaName\",           \u002F\u002F 必需：schema 名称\n  \"baseSelector\": \"css-selector\",     \u002F\u002F 必需：基础 CSS 选择器\n  \"fields\": [                         \u002F\u002F 必需：字段定义数组\n    {\n      \"name\": \"field_name\",           \u002F\u002F 必需：字段名称\n      \"selector\": \"css-selector\",     \u002F\u002F 必需：字段选择器\n      \"type\": \"text\",                 \u002F\u002F 必需：字段类型\n      \"multiple\": true                \u002F\u002F 可选：是否允许多个值\n    }\n  ]\n}\n```\n\n### LLM 提取模式 schema 结构：\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"field1\": {\"type\": \"string\"},\n    \"field2\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}\n  }\n}\n```\n\n### 5. PDF 导出 (`pdf_export`)\n\n将网页导出为 PDF 格式。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"pdf_export\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fdocument\",\n    \"return_as_base64\": true\n  }\n}\n```\n\n**参数说明:**\n- `url` (必需): 要导出为 PDF 的网页 URL\n- `return_as_base64`: 是否返回 base64 编码，默认 true\n\n### 6. 截图捕获 (`screenshot`)\n\n捕获网页截图，支持质量压缩和尺寸调整。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"screenshot\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"full_page\": true,\n    \"return_as_base64\": true,\n    \"quality\": 80,\n    \"max_width\": 1200,\n    \"max_height\": 3000\n  }\n}\n```\n\n**参数说明:**\n- `url` (必需): 要截图的网页 URL\n- `full_page`: 是否截取整个页面，默认 true\n- `return_as_base64`: 是否返回 base64 编码，默认 true\n- `quality`: 截图质量(10-100)，默认 70\n- `max_width`: 最大宽度，默认 1920\n- `max_height`: 最大高度，默认 5000\n\n## ?️ 增强的反爬能力\n\n**版本 1.2 新增反爬特性：**\n\n### 浏览器指纹混淆\n- ✅ 随机 User-Agent 轮换\n- ✅ 随机视口尺寸 (1280-1920 × 720-1080)\n- ✅ 隐身模式（Incognito）减少指纹追踪\n\n### 高级浏览器参数\n- ✅ 禁用自动化控制特征 (`--disable-blink-features=AutomationControlled`)\n- ✅ 禁用 Web 安全和站点隔离\n- ✅ 禁用扩展和通知\n- ✅ 禁用 IP 泛洪保护\n\n### 智能等待策略\n- ✅ 标准配置：短等待 (1.0秒)，高性能\n- ✅ 增强配置：中等等待 (2.0秒)，完整渲染\n- ✅ 降级配置：长等待 (3.0秒)，最大化兼容\n\n## ? 常见工作流\n\n### 新闻文章采集工作流\n**目标**: 自动收集和分析新闻内容\n1. **发现阶段**: 使用 `deep_crawl` 发现相关文章链接\n2. **采集阶段**: 使用 `batch_crawl` 批量获取内容  \n3. **提取阶段**: 使用 `extract` 结构化提取关键信息\n\n### 竞品分析工作流\n**目标**: 系统化分析竞争对手网站\n1. **证据收集**: 使用 `screenshot` 捕获竞品页面\n2. **内容分析**: 使用 `scrape` 获取详细内容\n3. **文档保存**: 使用 `pdf_export` 保存证据\n\n### 产品目录爬取工作流  \n**目标**: 建立完整的产品数据库\n1. **目录探索**: 使用 `deep_crawl` 发现所有产品页面\n2. **数据提取**: 使用 `extract` 提取产品信息\n\n## ?️ 故障排除\n\n### 常见问题与解决方案\n\n#### 性能问题\n- **超时问题**: 工具已内置智能超时，标准配置90秒，增强配置120秒，降级配置180秒\n- **内存问题**: 启用 `stream: true`，减少批量处理的 URL 数量。后端已设置内存上限（6000MB），高并发可能触发浏览器重启\n\n#### 内容质量问题  \n- **内容缺失**: 调整 `word_count_threshold`，检查 `css_selector`\n- **截图不完整**: 增加 `max_height` 值，确保 `full_page: true`\n\n#### 网络问题\n- **连接失败**: 检查 URL 格式，验证网络连接\n- **被网站屏蔽**: 智能分级系统会自动降级配置，提高成功率\n\n#### Extract 模式特定问题\n- **空结果**: 检查 `fields` 数组中的 `selector` 是否准确匹配页面元素\n- **字段缺失**: 确保 `schema_definition` 包含完整的 `name`、`baseSelector`、`fields` 结构\n- **自动修复**: 工具会自动补全缺失字段，但手动提供完整 schema 效果更好\n\n#### 智能分级系统问题\n- **配置选择不当**: 工具会自动学习，失败次数多的URL会自动使用更兼容的配置\n- **缓存问题**: 配置缓存按域名存储，清除浏览器实例会重置缓存\n\n### 调试技巧\n\n1. **从简单开始**: 先用 `scrape` 模式测试单个页面\n2. **逐步增加复杂度**: 确认基础功能正常后再使用高级模式  \n3. **检查参数**: 确保所有参数都正确嵌套在 `parameters` 对象内\n4. **验证输出**: 先测试小规模数据，确认输出格式符合预期\n\n## ⚠️ 重要提示\n\n### ✅ 正确做法\n- **参数嵌套**: 所有参数必须放在 `parameters` 对象内\n- **URL 格式**: 必须以 `http:\u002F\u002F` 或 `https:\u002F\u002F` 开头  \n- **模式选择**: 根据需求选择合适的模式\n- **内存管理**: 大量数据时使用流式处理 (`stream: true`)\n- **Schema 完整性**: 为 CSS 提取提供完整的 `name`、`baseSelector`、`fields` 结构\n\n### ❌ 常见错误\n\n**错误 1: 缺少嵌套参数**\n```json\n\u002F\u002F ❌ 错误\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\"\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**错误 2: URL 缺少协议**\n```json\n\u002F\u002F ❌ 错误\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"example.com\"\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**错误 3: 错误的参数类型**\n```json\n\u002F\u002F ❌ 错误 - urls 应该是数组\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\"https:\u002F\u002Fexample.com\"]\n  }\n}\n```\n\n**错误 4: extract模式使用错误的参数名**\n```json\n\u002F\u002F ❌ 错误 - 应该使用 schema_definition\n{\n  \"mode\": \"extract\", \n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"schema\": { \u002F\u002F 错误！应该是 schema_definition\n      \"title\": \"string\"\n    }\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\", \n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        }\n      ]\n    }\n  }\n}\n```\n\n## ? 高级使用技巧\n\n### 1. 组合使用媒体捕获\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"include_links\": true,\n    \"include_images\": true,\n    \"return_screenshot\": true,\n    \"return_pdf\": true,\n    \"screenshot_quality\": 90,\n    \"screenshot_max_width\": 1200,\n    \"word_count_threshold\": 15\n  }\n}\n```\n\n### 2. 智能深度爬取\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fdocs.example.com\",\n    \"strategy\": \"best_first\",\n    \"keywords\": [\"API\", \"教程\", \"示例\"],\n    \"max_depth\": 3,\n    \"max_pages\": 80\n  }\n}\n```\n\n### 3. 批量处理重要页面\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fhome\",\n      \"https:\u002F\u002Fexample.com\u002Fabout\", \n      \"https:\u002F\u002Fexample.com\u002Fcontact\",\n      \"https:\u002F\u002Fexample.com\u002Fproducts\"\n    ],\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n### 4. 智能内容提取\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"NewsArticle\",\n      \"baseSelector\": \".article-container\",\n      \"fields\": [\n        {\n          \"name\": \"headline\",\n          \"selector\": \"h1.news-title\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author-name\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"publish_date\",\n          \"selector\": \".publish-date\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"main_content\",\n          \"selector\": \".article-body\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"tags\",\n          \"selector\": \".tag\",\n          \"type\": \"text\",\n          \"multiple\": true\n        }\n      ]\n    },\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n## ? 最佳实践总结\n\n1. **选择合适的模式**: 根据任务复杂度选择最简单有效的模式\n2. **渐进式测试**: 从小规模开始测试，逐步扩大范围  \n3. **资源管理**: 注意并发数和内存使用，避免过度请求\n4. **错误处理**: 准备好处理网络错误和内容解析失败的情况\n5. **合法使用**: 遵守网站的 robots.txt 和服务条款\n6. **格式检查**: 每次调用前确认参数正确嵌套在 `parameters` 对象内\n7. **参数验证**: 确保 URL 包含协议，数组参数正确格式\n8. **命名规范**: extract模式必须使用 `schema_definition` 参数名\n9. **内容控制**: 使用 `include_links` 和 `include_images` 控制输出内容\n10. **质量优化**: 使用 `word_count_threshold` 过滤低质量内容块\n11. **Schema 完整性**: 为 CSS 提取提供完整的 schema 结构以获得最佳结果\n12. **信任智能分级**: 无需手动调整配置，工具会自动选择最佳方案\n13. **注意模式变更**: 已移除 `crawl` 模式，请使用 `scrape` 或 `deep_crawl` 替代\n\n## ? 版本更新说明\n\n### 版本 1.2 主要更新\n1. **新增智能分级系统**: 自动适应不同网站类型的配置策略\n2. **增强反爬能力**: 改进浏览器指纹混淆和反检测机制\n3. **内存管理优化**: 提升内存使用效率和稳定性\n4. **错误处理改进**: 增强对 Context 错误的捕获和恢复\n5. **移除 `crawl` 模式**: 简化模式选择，聚焦核心功能\n6. **参数自动修复**: 增强对输入参数的容错能力\n\n### 向后兼容性\n- ✅ 所有现有调用格式保持兼容\n- ✅ 智能分级系统对 Agent 完全透明\n- ✅ 新增功能不影响现有功能\n- ❌ 不再支持 `mode: \"crawl\"`，请使用替代模式\n","# Crawl4AI 网页抓取工具指南\n\nCrawl4AI 是一个功能强大的开源网页抓取和数据处理工具，支持 6 种不同的工作模式。所有二进制输出（截图、PDF）都以 base64 编码返回，便于模型处理。\n\n## ? 【至关重要】通用调用结构\n\n**所有对 `crawl4ai` 的调用都必须严格遵循以下嵌套结构！** 这是一个通用规则，适用于所有模式。\n\n```json\n{\n  \"mode\": \"\u003C模式名称>\",\n  \"parameters\": {\n    \"param1\": \"value1\",\n    \"param2\": \"value2\"\n    \u002F\u002F ...具体模式的所有参数都放在这里\n  }\n}\n```\n\n### ❌ 常见致命错误：未嵌套参数\n\n```json\n\u002F\u002F 这是一个绝对会导致失败的错误调用！\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\" \u002F\u002F 错误！'url' 必须在 'parameters' 内部\n}\n```\n\n### ✅ 正确的基础调用模式\n\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n## ? 新增智能分级系统\n\n**版本 1.2 重要更新：** 新增智能分级抓取系统，自动适应不同网站类型：\n\n| 配置等级 | 适用场景 | 特点 | 性能表现 |\n|---------|---------|------|----------|\n| **标准配置** | 普通静态网站 | 高性能，快速抓取 | ⚡ 快速 (90秒超时) |\n| **增强配置** | JS网站、反爬网站 | 加强反爬，完整渲染 | ?️ 稳健 (120秒超时) |\n| **降级配置** | 极端复杂网站 | 最大化兼容性 | ? 保守 (180秒超时) |\n\n**智能识别能力：**\n- ✅ 自动检测 JavaScript 驱动网站（React、Vue、Angular等）\n- ✅ 识别反爬机制（Cloudflare、reCAPTCHA等）\n- ✅ 缓存成功配置，加速后续抓取\n- ✅ 失败自动降级，提高成功率\n\n## ? 可用模式快速选择指南\n\n| 模式 | 功能描述 | 主要用途 | 复杂度 | 推荐场景 |\n|------|----------|----------|---------|----------|\n| `scrape` | 抓取单个网页 | 获取页面内容、截图、PDF | ⭐⭐ | 单页面内容获取 |\n| `deep_crawl` | 深度智能爬取 | 使用策略深度爬取网站 | ⭐⭐⭐⭐ | 网站内容探索 |\n| `batch_crawl` | 批量 URL 处理 | 同时处理多个 URL | ⭐⭐ | 批量数据收集 |\n| `extract` | 结构化数据提取 | 基于 CSS 或 LLM 提取数据 | ⭐⭐⭐ | 特定数据提取 |\n| `pdf_export` | PDF 导出 | 将网页导出为 PDF | ⭐ | 文档保存 |\n| `screenshot` | 截图捕获 | 捕获网页截图 | ⭐ | 视觉证据保存 |\n\n**注意：** `crawl` 模式已在最新版本中移除，请使用 `scrape` 或 `deep_crawl` 替代。\n\n## ? 使用场景快速指南\n\n### 场景1：快速获取页面内容\n```json\n{\n  \"mode\": \"scrape\", \n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"format\": \"markdown\",\n    \"word_count_threshold\": 10,\n    \"include_links\": true,\n    \"include_images\": true\n  }\n}\n```\n\n### 场景2：批量收集产品信息\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fproduct1\",\n      \"https:\u002F\u002Fexample.com\u002Fproduct2\",\n      \"https:\u002F\u002Fexample.com\u002Fproduct3\"\n    ],\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n### 场景3：深度研究某个网站\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fdocs\",\n    \"max_depth\": 3,\n    \"max_pages\": 80,\n    \"keywords\": [\"教程\", \"指南\", \"API\"],\n    \"strategy\": \"best_first\"\n  }\n}\n```\n\n### 场景4：提取结构化数据\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".article-content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"content\",\n          \"selector\": \".content\",\n          \"type\": \"text\"\n        }\n      ]\n    },\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n### 场景5：保存网页证据\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"return_screenshot\": true,\n    \"return_pdf\": true,\n    \"screenshot_quality\": 90,\n    \"screenshot_max_width\": 1200\n  }\n}\n```\n\n## ? 详细模式说明\n\n### 1. 抓取单个网页 (`scrape`)\n\n**智能分级抓取**：新版工具自动根据网站类型选择最佳配置方案。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"format\": \"markdown\",\n    \"css_selector\": \".article-content\",\n    \"include_links\": true,\n    \"include_images\": true,\n    \"return_screenshot\": true,\n    \"return_pdf\": false,\n    \"screenshot_quality\": 80,\n    \"screenshot_max_width\": 1200,\n    \"word_count_threshold\": 10,\n    \"exclude_external_links\": true\n  }\n}\n```\n\n**❌ 错误示例（参数未嵌套）:**\n```json\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\", \u002F\u002F 错误！缺少parameters包装\n  \"format\": \"markdown\"\n}\n```\n\n**智能分级抓取原理：**\n1. **自动识别**：工具会分析URL特征，判断网站类型\n2. **分级配置**：\n   - **标准配置**：普通网站，90秒超时，高性能\n   - **增强配置**：JS网站\u002F反爬网站，120秒超时，完整渲染\n   - **降级配置**：极端复杂网站，180秒超时，最大化兼容\n3. **失败降级**：如果当前配置失败，自动尝试更兼容的配置\n4. **配置缓存**：成功配置会缓存，后续同域名请求更快\n\n**参数说明:**\n- `url` (必需): 要抓取的网页 URL，必须以 `http:\u002F\u002F` 或 `https:\u002F\u002F` 开头\n- `format`: 输出格式，`markdown`(默认)\u002F`html`\u002F`text`\n- `css_selector`: 提取特定内容的 CSS 选择器\n- `include_links`: 是否在输出中包含链接，默认 true\n- `include_images`: 是否在输出中包含图片，默认 true\n- `return_screenshot`: 是否返回截图(base64)，默认 false\n- `return_pdf`: 是否返回 PDF(base64)，默认 false\n- `screenshot_quality`: 截图质量(10-100)，默认 70\n- `screenshot_max_width`: 截图最大宽度，默认 1920\n- `word_count_threshold`: 内容块最小单词数，默认 10\n- `exclude_external_links`: 是否排除外部链接，默认 true\n\n### 2. 深度网站爬取 (`deep_crawl`)\n\n使用智能策略深度爬取整个网站，支持关键词评分和 URL 过滤。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"max_depth\": 3,\n    \"max_pages\": 80,\n    \"strategy\": \"best_first\",\n    \"include_external\": false,\n    \"keywords\": [\"产品\", \"价格\", \"规格\"],\n    \"url_patterns\": [\"\u002Fproducts\u002F\", \"\u002Fdocs\u002F\"],\n    \"stream\": false\n  }\n}\n```\n\n**增强功能：**\n- ✅ **Context错误自动恢复**：捕获并处理Crawl4AI内部错误\n- ✅ **智能超时处理**：400秒超时保护，返回部分结果\n- ✅ **流式心跳**：定期进度更新，避免Cloudflare 524错误\n\n**参数说明:**\n- `url` (必需): 起始 URL\n- `max_depth`: 最大爬取深度，默认 3\n- `max_pages`: 最大页面数，默认 80\n- `strategy`: 爬取策略，`bfs`(默认)\u002F`dfs`\u002F`best_first`\n- `include_external`: 是否跟踪外部链接，默认 false\n- `keywords`: 用于相关性评分的关键词列表\n- `url_patterns`: URL 模式过滤列表\n- `stream`: 是否流式返回结果，默认 false\n\n### 3. 批量 URL 处理 (`batch_crawl`)\n\n同时处理多个 URL，适用于批量数据收集。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fpage1\",\n      \"https:\u002F\u002Fexample.com\u002Fpage2\",\n      \"https:\u002F\u002Fexample.com\u002Fpage3\"\n    ],\n    \"stream\": false,\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n**❌ 错误示例（urls不是数组）:**\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": \"https:\u002F\u002Fexample.com\u002Fpage1\" \u002F\u002F 错误！urls必须是数组\n  }\n}\n```\n\n**安全限制：**\n- ⚡ 并发数硬性上限：4（无论参数设置多高）\n- ⏰ 整体超时：300秒（5分钟）\n- ? 最大页面数：20（防止过度请求）\n\n**参数说明:**\n- `urls` (必需): URL 列表，必须是数组格式\n- `stream`: 是否流式返回，默认 false\n- `concurrent_limit`: 最大并发数，默认 4 (已根据服务器内存升级调整，并设置了硬性上限)\n\n### 4. 结构化数据提取 (`extract`)\n\n从网页中提取结构化数据，**主要依赖精确的 CSS 选择器**。\n\n**✅ 正确示例 (CSS 提取):**\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".article-content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"publish_date\",\n          \"selector\": \".date\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"content\",\n          \"selector\": \".content\",\n          \"type\": \"text\"\n        }\n      ]\n    },\n    \"css_selector\": \".article-content\",\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n**⚠️ 关键限制与最佳实践：**\n- **AI 智能提取限制**: `crawl4ai` 的 `extraction_type: \"llm\"` 模式**尚未部署**有效的 LLM 实例。\n- **注意事项做法**: **`crawl4ai` 提取场景**: 仅适用于您能提供**精确 CSS 选择器**的简单、结构固定的页面。无法实现**仅凭自然语言描述和 JSON Schema**（即不提供 CSS 选择器）从复杂页面（如表格、列表）中智能提取数据。\n\n**?️ 自动修复机制：**\n我们的工具会自动修复常见的 schema 格式问题：\n- 如果缺少 `baseSelector`，自动设置为 `css_selector` 或 `'body'`\n- 如果缺少 `fields`，自动创建默认字段配置  \n- 如果缺少 `name`，自动设置为 `\"ExtractedData\"`\n- 如果 schema 是数组格式，自动转换为对象格式\n\n**? 最佳实践：** 虽然工具会自动修复，但提供完整的 schema 可以获得更精确的提取结果。\n\n**参数说明:**\n- `url` (必需): 要提取的网页 URL\n- `schema_definition` (必需): 定义输出结构的 JSON schema\n- `css_selector`: 基础 CSS 选择器（CSS 提取时使用）\n- `extraction_type`: 提取类型，`css`(默认)\u002F`llm`\n- `prompt`: LLM 提取的提示语\n\n## ? Schema Definition 结构说明\n\n### CSS 提取模式必需的 schema 结构：\n```json\n{\n  \"name\": \"YourSchemaName\",           \u002F\u002F 必需：schema 名称\n  \"baseSelector\": \"css-selector\",     \u002F\u002F 必需：基础 CSS 选择器\n  \"fields\": [                         \u002F\u002F 必需：字段定义数组\n    {\n      \"name\": \"field_name\",           \u002F\u002F 必需：字段名称\n      \"selector\": \"css-selector\",     \u002F\u002F 必需：字段选择器\n      \"type\": \"text\",                 \u002F\u002F 必需：字段类型\n      \"multiple\": true                \u002F\u002F 可选：是否允许多个值\n    }\n  ]\n}\n```\n\n### LLM 提取模式 schema 结构：\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"field1\": {\"type\": \"string\"},\n    \"field2\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}}\n  }\n}\n```\n\n### 5. PDF 导出 (`pdf_export`)\n\n将网页导出为 PDF 格式。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"pdf_export\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fdocument\",\n    \"return_as_base64\": true\n  }\n}\n```\n\n**参数说明:**\n- `url` (必需): 要导出为 PDF 的网页 URL\n- `return_as_base64`: 是否返回 base64 编码，默认 true\n\n### 6. 截图捕获 (`screenshot`)\n\n捕获网页截图，支持质量压缩和尺寸调整。\n\n**✅ 正确示例:**\n```json\n{\n  \"mode\": \"screenshot\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"full_page\": true,\n    \"return_as_base64\": true,\n    \"quality\": 80,\n    \"max_width\": 1200,\n    \"max_height\": 3000\n  }\n}\n```\n\n**参数说明:**\n- `url` (必需): 要截图的网页 URL\n- `full_page`: 是否截取整个页面，默认 true\n- `return_as_base64`: 是否返回 base64 编码，默认 true\n- `quality`: 截图质量(10-100)，默认 70\n- `max_width`: 最大宽度，默认 1920\n- `max_height`: 最大高度，默认 5000\n\n## ?️ 增强的反爬能力\n\n**版本 1.2 新增反爬特性：**\n\n### 浏览器指纹混淆\n- ✅ 随机 User-Agent 轮换\n- ✅ 随机视口尺寸 (1280-1920 × 720-1080)\n- ✅ 隐身模式（Incognito）减少指纹追踪\n\n### 高级浏览器参数\n- ✅ 禁用自动化控制特征 (`--disable-blink-features=AutomationControlled`)\n- ✅ 禁用 Web 安全和站点隔离\n- ✅ 禁用扩展和通知\n- ✅ 禁用 IP 泛洪保护\n\n### 智能等待策略\n- ✅ 标准配置：短等待 (1.0秒)，高性能\n- ✅ 增强配置：中等等待 (2.0秒)，完整渲染\n- ✅ 降级配置：长等待 (3.0秒)，最大化兼容\n\n## ? 常见工作流\n\n### 新闻文章采集工作流\n**目标**: 自动收集和分析新闻内容\n1. **发现阶段**: 使用 `deep_crawl` 发现相关文章链接\n2. **采集阶段**: 使用 `batch_crawl` 批量获取内容  \n3. **提取阶段**: 使用 `extract` 结构化提取关键信息\n\n### 竞品分析工作流\n**目标**: 系统化分析竞争对手网站\n1. **证据收集**: 使用 `screenshot` 捕获竞品页面\n2. **内容分析**: 使用 `scrape` 获取详细内容\n3. **文档保存**: 使用 `pdf_export` 保存证据\n\n### 产品目录爬取工作流  \n**目标**: 建立完整的产品数据库\n1. **目录探索**: 使用 `deep_crawl` 发现所有产品页面\n2. **数据提取**: 使用 `extract` 提取产品信息\n\n## ?️ 故障排除\n\n### 常见问题与解决方案\n\n#### 性能问题\n- **超时问题**: 工具已内置智能超时，标准配置90秒，增强配置120秒，降级配置180秒\n- **内存问题**: 启用 `stream: true`，减少批量处理的 URL 数量。后端已设置内存上限（6000MB），高并发可能触发浏览器重启\n\n#### 内容质量问题  \n- **内容缺失**: 调整 `word_count_threshold`，检查 `css_selector`\n- **截图不完整**: 增加 `max_height` 值，确保 `full_page: true`\n\n#### 网络问题\n- **连接失败**: 检查 URL 格式，验证网络连接\n- **被网站屏蔽**: 智能分级系统会自动降级配置，提高成功率\n\n#### Extract 模式特定问题\n- **空结果**: 检查 `fields` 数组中的 `selector` 是否准确匹配页面元素\n- **字段缺失**: 确保 `schema_definition` 包含完整的 `name`、`baseSelector`、`fields` 结构\n- **自动修复**: 工具会自动补全缺失字段，但手动提供完整 schema 效果更好\n\n#### 智能分级系统问题\n- **配置选择不当**: 工具会自动学习，失败次数多的URL会自动使用更兼容的配置\n- **缓存问题**: 配置缓存按域名存储，清除浏览器实例会重置缓存\n\n### 调试技巧\n\n1. **从简单开始**: 先用 `scrape` 模式测试单个页面\n2. **逐步增加复杂度**: 确认基础功能正常后再使用高级模式  \n3. **检查参数**: 确保所有参数都正确嵌套在 `parameters` 对象内\n4. **验证输出**: 先测试小规模数据，确认输出格式符合预期\n\n## ⚠️ 重要提示\n\n### ✅ 正确做法\n- **参数嵌套**: 所有参数必须放在 `parameters` 对象内\n- **URL 格式**: 必须以 `http:\u002F\u002F` 或 `https:\u002F\u002F` 开头  \n- **模式选择**: 根据需求选择合适的模式\n- **内存管理**: 大量数据时使用流式处理 (`stream: true`)\n- **Schema 完整性**: 为 CSS 提取提供完整的 `name`、`baseSelector`、`fields` 结构\n\n### ❌ 常见错误\n\n**错误 1: 缺少嵌套参数**\n```json\n\u002F\u002F ❌ 错误\n{\n  \"mode\": \"scrape\",\n  \"url\": \"https:\u002F\u002Fexample.com\"\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**错误 2: URL 缺少协议**\n```json\n\u002F\u002F ❌ 错误\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"example.com\"\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**错误 3: 错误的参数类型**\n```json\n\u002F\u002F ❌ 错误 - urls 应该是数组\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\"https:\u002F\u002Fexample.com\"]\n  }\n}\n```\n\n**错误 4: extract模式使用错误的参数名**\n```json\n\u002F\u002F ❌ 错误 - 应该使用 schema_definition\n{\n  \"mode\": \"extract\", \n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"schema\": { \u002F\u002F 错误！应该是 schema_definition\n      \"title\": \"string\"\n    }\n  }\n}\n\n\u002F\u002F ✅ 正确\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\", \n    \"schema_definition\": {\n      \"name\": \"Article\",\n      \"baseSelector\": \".content\",\n      \"fields\": [\n        {\n          \"name\": \"title\",\n          \"selector\": \"h1\",\n          \"type\": \"text\"\n        }\n      ]\n    }\n  }\n}\n```\n\n## ? 高级使用技巧\n\n### 1. 组合使用媒体捕获\n```json\n{\n  \"mode\": \"scrape\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"include_links\": true,\n    \"include_images\": true,\n    \"return_screenshot\": true,\n    \"return_pdf\": true,\n    \"screenshot_quality\": 90,\n    \"screenshot_max_width\": 1200,\n    \"word_count_threshold\": 15\n  }\n}\n```\n\n### 2. 智能深度爬取\n```json\n{\n  \"mode\": \"deep_crawl\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fdocs.example.com\",\n    \"strategy\": \"best_first\",\n    \"keywords\": [\"API\", \"教程\", \"示例\"],\n    \"max_depth\": 3,\n    \"max_pages\": 80\n  }\n}\n```\n\n### 3. 批量处理重要页面\n```json\n{\n  \"mode\": \"batch_crawl\",\n  \"parameters\": {\n    \"urls\": [\n      \"https:\u002F\u002Fexample.com\u002Fhome\",\n      \"https:\u002F\u002Fexample.com\u002Fabout\", \n      \"https:\u002F\u002Fexample.com\u002Fcontact\",\n      \"https:\u002F\u002Fexample.com\u002Fproducts\"\n    ],\n    \"concurrent_limit\": 4\n  }\n}\n```\n\n### 4. 智能内容提取\n```json\n{\n  \"mode\": \"extract\",\n  \"parameters\": {\n    \"url\": \"https:\u002F\u002Fnews.example.com\u002Farticle\",\n    \"schema_definition\": {\n      \"name\": \"NewsArticle\",\n      \"baseSelector\": \".article-container\",\n      \"fields\": [\n        {\n          \"name\": \"headline\",\n          \"selector\": \"h1.news-title\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"author\",\n          \"selector\": \".author-name\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"publish_date\",\n          \"selector\": \".publish-date\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"main_content\",\n          \"selector\": \".article-body\",\n          \"type\": \"text\"\n        },\n        {\n          \"name\": \"tags\",\n          \"selector\": \".tag\",\n          \"type\": \"text\",\n          \"multiple\": true\n        }\n      ]\n    },\n    \"extraction_type\": \"css\"\n  }\n}\n```\n\n## ? 最佳实践总结\n\n1. **选择合适的模式**: 根据任务复杂度选择最简单有效的模式\n2. **渐进式测试**: 从小规模开始测试，逐步扩大范围  \n3. **资源管理**: 注意并发数和内存使用，避免过度请求\n4. **错误处理**: 准备好处理网络错误和内容解析失败的情况\n5. **合法使用**: 遵守网站的 robots.txt 和服务条款\n6. **格式检查**: 每次调用前确认参数正确嵌套在 `parameters` 对象内\n7. **参数验证**: 确保 URL 包含协议，数组参数正确格式\n8. **命名规范**: extract模式必须使用 `schema_definition` 参数名\n9. **内容控制**: 使用 `include_links` 和 `include_images` 控制输出内容\n10. **质量优化**: 使用 `word_count_threshold` 过滤低质量内容块\n11. **Schema 完整性**: 为 CSS 提取提供完整的 schema 结构以获得最佳结果\n12. **信任智能分级**: 无需手动调整配置，工具会自动选择最佳方案\n13. **注意模式变更**: 已移除 `crawl` 模式，请使用 `scrape` 或 `deep_crawl` 替代\n\n## ? 版本更新说明\n\n### 版本 1.2 主要更新\n1. **新增智能分级系统**: 自动适应不同网站类型的配置策略\n2. **增强反爬能力**: 改进浏览器指纹混淆和反检测机制\n3. **内存管理优化**: 提升内存使用效率和稳定性\n4. **错误处理改进**: 增强对 Context 错误的捕获和恢复\n5. **移除 `crawl` 模式**: 简化模式选择，聚焦核心功能\n6. **参数自动修复**: 增强对输入参数的容错能力\n\n### 向后兼容性\n- ✅ 所有现有调用格式保持兼容\n- ✅ 智能分级系统对 Agent 完全透明\n- ✅ 新增功能不影响现有功能\n- ❌ 不再支持 `mode: \"crawl\"`，请使用替代模式\n",{"name":5,"tags":56,"version":58,"category":59,"priority":60,"tool_name":5,"description":7},[37,48,36,35,34,46,33,57,50],"anti-detection",1.2,"web-crawling",9,"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fck991357\u002Fcrawl4ai",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill crawl4ai",{"tool":76,"command":77},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill crawl4ai",{"tool":79,"command":80},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill crawl4ai","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fck991357\u002Fcrawl4ai\u002FSKILL.md",true,[84],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"skill-report.json","REFERENCE","参考文档",11514,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fck991357\u002Fcrawl4ai\u002Fskill-report.json",[91,101,111,120,126,133],{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":51},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[96],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[98,99,100],"model","model hierarchy","model hierarchy skill",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":51},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[106],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[108,109,110],"MCP","zoom","zoom mcp",{"skillNo":112,"name":113,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":51},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[117,118,119,109],"sdk","zoom apps sdk","apps",{"skillNo":121,"name":122,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":51},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[122],{"skillNo":127,"name":128,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":132,"publishedAt":51},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[131],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[128],{"skillNo":134,"name":135,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":51},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[135]]