基于 Playwright 的网页爬虫 OpenClaw 技能,带有反爬保护,已在 Discuss.com.hk 等复杂网站成功测试。
Playwright Scraper Skill.是一项面向实际任务的技能,主要用于A Playwright 基于网络的刮伤 OpenClaw Skill 带有反机器人保护.;Choop 最佳方法基于目标网站的反机器人级别.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
一款基于 Playwright 的网页抓取 OpenClaw Skill,具备反爬虫保护能力。请根据目标网站的反爬等级选择最合适的方法。
| 目标网站 | 反爬等级 | 推荐方法 | 脚本 |
|---|---|---|---|
| 普通网站 | 低 | web_fetch 工具 | N/A(内置) |
| 动态网站 | 中 | Playwright Simple | scripts/playwright-simple.js |
| Cloudflare 防护网站 | 高 | Playwright Stealth ⭐ | scripts/playwright-stealth.js |
| YouTube | 特殊 | deep-scraper | 需单独安装 |
| 特殊 | reddit-scraper | 需单独安装 |
cd playwright-scraper-skill
npm install
npx playwright install chromium
使用 OpenClaw 内置的 web_fetch 工具:
# 在 OpenClaw 中直接调用
Hey, fetch me the content from https://example.com
使用 Playwright Simple:
node scripts/playwright-simple.js "https://example.com"
示例输出:
{
"url": "https://example.com",
"title": "Example Domain",
"content": "...",
"elapsedSeconds": "3.45"
}
使用 Playwright Stealth:
node scripts/playwright-stealth.js "https://m.discuss.com.hk/#hot"
特性:
navigator.webdriver = false)使用 deep-scraper(需单独安装):
# 安装 deep-scraper Skill
npx clawhub install deep-scraper
# 使用
cd skills/deep-scraper
node assets/youtube_handler.js "https://www.youtube.com/watch?v=VIDEO_ID"
scripts/playwright-simple.jsscripts/playwright-stealth.js ⭐若网站无动态加载内容,请优先使用 OpenClaw 自带的 web_fetch 工具——它最快。
若需等待 JavaScript 渲染完成,请使用 playwright-simple.js。
若返回 403 错误或出现 Cloudflare 验证页,请改用 playwright-stealth.js。
所有脚本均支持环境变量配置:
# 设置截图路径
SCREENSHOT_PATH=/path/to/screenshot.png node scripts/playwright-stealth.js URL
# 设置等待时间(毫秒)
WAIT_TIME=10000 node scripts/playwright-simple.js URL
# 启用 headful 模式(显示浏览器界面)
HEADLESS=false node scripts/playwright-stealth.js URL
# 保存 HTML 文件
SAVE_HTML=true node scripts/playwright-stealth.js URL
# 自定义 User-Agent
USER_AGENT="Mozilla/5.0 ..." node scripts/playwright-stealth.js URL
| 方法 | 速度 | 反爬能力 | Discuss.com.hk 成功率 |
|---|---|---|---|
| web_fetch | ⚡ 最快 | ❌ 无 | 0% |
| Playwright Simple | 🚀 快 | ⚠️ 弱 | 20% |
| Playwright Stealth | ⏱️ 中等 | ✅ 中等 | 100% ✅ |
| Puppeteer Stealth | ⏱️ 中等 | ✅ 中–高 | ~80% |
| Crawlee(deep-scraper) | 🐢 慢 | ❌ 易被识别 | 0% |
| Chaser(Rust) | ⏱️ 中等 | ❌ 易被识别 | 0% |
基于实测得出的经验:
navigator.webdriver —— 必须项addInitScript(Playwright) —— 在页面加载前注入脚本解决方案:改用 playwright-stealth.js
解决方案:
headless: false(headful 模式有时成功率更高)解决方案:
waitForTimeout 值waitUntil: 'networkidle' 或 'domcontentloaded'最优方案:纯 Playwright + 反爬技巧(不依赖特定框架)
browser 工具集成