web-scrape
智能网页抓取工具,根据场景自动选择最佳抓取策略。先静默探测 command -v ego-browser >/dev/null 2>&1:有 ego-lite 时所有需要浏览器的抓取(登录态、截图、网络请求)都走 ego-lite,每次抓取开一个独立 task space、结束即关闭,自动选择和回退都不会选 Playwright;没有 ego-lite 的环境才用 Playwright 兜底,不另起 Chrome:
运行环境要求 Node.js 18+ 和 Python 3.8+;Scrapling、Crawl4AI、Playwright 均为可选运行时依赖。
- Scrapling - 自适应解析 + Cloudflare Turnstile 绕过
- Crawl4AI - LLM-ready Markdown + 批量深度爬取
- ego-lite(ego-browser) - 浏览器后端首选:已登录单页、人工接管、截图、DOM 提取、网络请求清单
- Playwright - 仅在没有 ego-lite 的环境兜底:完整渲染资源下载 + 网络请求监控
何时用
- 需要智能选择抓取工具(自动判断场景)
- 网站频繁改版,需要自适应元素定位
- 需要绕过 Cloudflare Turnstile 反爬
- 抓取内容要喂给 LLM(RAG / 总结 / 问答)
- 批量爬取文档站、博客(深度爬取 + 崩溃恢复)
- 需要完整的渲染后资源 + 网络请求日志
不适用:简单的静态页面用 curl 就够;需要登录态复杂交互的用专门的自动化脚本。
浏览器到 API 的强制演进
本 skill 只要以浏览器执行远端业务动作,就必须先读并遵守 浏览器到 API 强制演进。登录、验证码、2FA、纯视觉验收可保留浏览器;认证后的可接口化动作仍须抓取、复现、独立回验,并在同一任务自更新本 skill 与脚本。
核心流程
- 读 policies.md;简单静态页直接
curl,不进本 skill。 - 静默探测
command -v ego-browser >/dev/null 2>&1,决定浏览器后端。 - 跑调度脚本:
node "$SKILL_DIR/scripts/scrape.mjs" <url> [--intent ...] [--tool ...] [--format ...] [--out <dir>]。 - 脚本按意图、URL、Cloudflare 检测选工具;失败按回退链换下一个工具。
- 读输出目录的
meta.json确认工具与判断依据,再交付content.md/content.html/network.json/截图。 - ego-lite 抓取结束即关闭该 task space。
硬规则
- 有 ego-lite 时所有浏览器抓取只走 ego-lite,自动选择和回退都不选 Playwright。
- 每次 ego-lite 抓取开独立 task space,结束即关闭;不另起 Chrome。
- 没有 ego-lite 才用 Playwright 兜底;静态资源下载只有 Playwright 支持。
--adaptive必须先正常抓取一次训练,再在改版后启用。- 代理只经
SCRAPE_PROXY_LIST环境变量或配置文件,按顺序回退。 - 自建 Crawl4AI Docker Server 必须 ≥ 0.9.0;本 skill 直接用 Python 库。
- 不记录 Cookie、Token 或密码;凭据只从环境变量或私有配置读取。
- 使用 Scrapling、Crawl4AI 时遵守上游 Apache-2.0 署名要求。
路由表
| 任务 | references | 执行脚本 |
|---|---|---|
| API 优先、抓包演进、安全边界 | policies.md | — |
| 安装 Node/Python 依赖、venv | setup.md | install-deps.sh、verify.sh |
| 场景识别、工具对比、选择算法、Fallback | tool-routing.md,详解 docs/tool-selection.md | scripts/scrape.mjs |
| 选项、六个示例、输出目录与 meta.json | usage.md | scripts/scrape.mjs |
| 在其他 skill 或 MCP 中调用 | integration.md | scripts/scrape.mjs |
| 自适应报错、Crawl4AI 超时、找不到 Playwright | troubleshooting.md | — |
| Crawl4AI 漏洞史、代理链、许可证、官方文档 | security-license.md | — |
| 架构设计、各 worker 说明 | docs/architecture.md | scripts/scrapling-worker.py、scripts/crawl4ai-worker.py、scripts/playwright-worker.mjs |
微信扫一扫