1. 项目定位与用途
OpenClaw Ultra Scraping 是 OpenClaw 生态中的一个核心技能插件,定位为 AI 代理的 Web 数据获取增强工具。它并非独立应用,而是作为 OpenClaw 代理的能力扩展,使 AI 助手能直接执行复杂的网络爬取任务。主要用途是让用户通过自然语言或脚本命令,即可完成从静态页面到动态 SPA 的各种数据提取,无需手动处理反爬机制或网站结构变化,从而将爬虫能力无缝集成到 AI 工作流中。
LeoYeAI/openclaw-ultra-scraping:OpenClaw Ultra Scraping 是为 OpenClaw AI 代理设计的自适应网络爬虫技能,提供反爬虫绕过、动态渲染和并发爬取能本页整理它解决什么问题、适用场景、安装方式和使用方法。
OpenClaw Ultra Scraping 是为 OpenClaw AI 代理设计的自适应网络爬虫技能,提供反爬虫绕过、动态渲染和并发爬取能力,帮助 AI 稳定高效地获取网页数据。
OpenClaw Ultra Scraping 是 OpenClaw 生态中的一个核心技能插件,定位为 AI 代理的 Web 数据获取增强工具。它并非独立应用,而是作为 OpenClaw 代理的能力扩展,使 AI 助手能直接执行复杂的网络爬取任务。主要用途是让用户通过自然语言或脚本命令,即可完成从静态页面到动态 SPA 的各种数据提取,无需手动处理反爬机制或网站结构变化,从而将爬虫能力无缝集成到 AI 工作流中。
该项目主要解决四大爬虫痛点:一是反爬虫机制阻止,通过 StealthyFetcher 内置指纹伪装和挑战解决(如 Cloudflare Turnstile)实现绕过;二是网站改版导致选择器失效,采用自适应元素跟踪,通过保存和匹配元素特征来维持提取稳定性;三是动态页面内容提取困难,集成 DynamicFetcher 支持无头浏览器渲染 JavaScript;四是大规模爬取效率低下,提供并发控制、暂停/恢复和代理轮转功能,提升爬取吞吐量与鲁棒性。
适用场景包括:电商产品信息抓取(如“Scrape the top 10 products from example.com”)、全网链接收集(如“Extract all links from this page”)、新闻媒体文章爬取(如“Crawl this site and grab all article titles”)以及受防护站点数据获取(如“Get the data from this Cloudflare-protected page”)。尤其适合需要长期监控、网站频繁改版或存在严格反爬措施的站点,也适用于需要渲染 JavaScript 的单页应用(SPA)数据提取。
安装方式有两种,均基于仓库中明确的步骤:推荐通过 ClawHub 一键安装,在终端执行 `clawhub install openclaw-ultra-scraping` 即可自动完成部署。手动安装需将仓库克隆至 OpenClaw 技能目录 `~/.openclaw/workspace/skills/openclaw-ultra-scraping`,然后运行 `bash ~/.openclaw/workspace/skills/openclaw-ultra-scraping/scripts/setup.sh` 以安装 Python 依赖及配置无头浏览器环境。仓库中未提及 Docker 或 pip 直接安装等其他方式。
使用方式涵盖三层:自然语言指令,直接向 OpenClaw 代理下达如“Scrape the top 10 products from example.com”等任务;CLI 工具,通过 `scripts/scrape.py` 执行 fetch/crawl/links 等命令,支持 `--css`、`--stealth`、`--dynamic`、`--solve-cloudflare`、`--depth`、`--concurrency` 等参数,并可输出 json/jsonl/csv/text/markdown/html 格式;Python API,在自定义脚本中导入 `scrapling.fetchers` 的 `Fetcher`、`StealthyFetcher`、`DynamicFetcher` 类进行编程式爬取,并可使用 `adaptive=True` 或 `auto_save=True` 启用自适应跟踪。
项目核心是分层抓取器架构:`Fetcher` 用于普通站点,`DynamicFetcher` 用于 JS 渲染 SPAs,`StealthyFetcher` 用于反爬保护站点,对应 CLI 的默认/`--dynamic`/`--stealth` 标志。自适应元素跟踪通过保存元素指纹(如类名、属性、文本模式)并在后续运行中匹配来实现,即使 HTML 结构变化也能定位目标。反爬虫引擎集成多种绕过策略,包括请求头伪装、浏览器指纹模拟和挑战自动解决。所有功能均封装在 `scrapling` 包中,CLI 入口为 `scripts/scrape.py`,安装脚本 `scripts/setup.sh` 负责环境准备。仓库中未明确说明支持的 Python 具体版本或浏览器依赖细节,但证据指向 Python 3.10+ 及常见无头浏览器(如 Playwright 或 Selenium)。
推荐通过 ClawHub 一键安装:运行 `clawhub install openclaw-ultra-scraping`。或手动克隆仓库至 `~/.openclaw/workspace/skills/openclaw-ultra-scraping` 后执行 `bash scripts/setup.sh` 安装依赖及浏览器。
使用 `StealthyFetcher`,在 CLI 中添加 `--stealth` 和 `--solve-cloudflare` 参数,或在 Python API 中调用 `StealthyFetcher.fetch(url, solve_cloudflare=True)`。该抓取器内置指纹伪装和挑战解决能力。
支持。使用 `DynamicFetcher`,在 CLI 中添加 `--dynamic` 参数,或在 Python API 中调用 `DynamicFetcher.fetch(url, headless=True)`。它会启动无头浏览器完整渲染 SPA 内容。
启用自适应元素跟踪:首次提取时使用 `auto_save=True` 保存元素指纹,后续使用 `adaptive=True` 即可通过特征匹配定位元素,即使 HTML 结构变化也能稳定提取。
CLI 工具支持多种输出格式,通过 `-f` 参数指定,包括 json、jsonl、csv、text、markdown、html。Python API 返回结构化对象,可自行序列化为所需格式。