网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Playwright Scraper Skill

2026-03-24 新闻来源:网淘吧 围观:62
电脑广告
手机广告
购买adidas上京东官方旗舰店。

Playwright 网页抓取技能

一个基于 Playwright 的、具备反机器人防护功能的网页抓取 OpenClaw 技能。根据目标网站的反机器人级别选择最佳方法。


🎯 用例矩阵

目标网站反机器人级别推荐方法脚本
常规网站web_fetch 工具不适用(内置)
动态网站中等Playwright 简易模式scripts/playwright-simple.js
受 Cloudflare 保护Playwright 隐身模式scripts/playwright-stealth.js
YouTube特殊深度抓取器需单独安装
Reddit特殊reddit-scraper单独安装

📦 安装

cd playwright-scraper-skill
npm install
npx playwright install chromium

🚀 快速开始

1️⃣ 简单网站(无反爬虫机制)

使用 OpenClaw 内置的web_fetch工具:

上网淘巴领天猫淘宝优惠券,一年省好几千。
# 在 OpenClaw 中直接调用
嘿,帮我获取 https://example.com 的内容

2️⃣ 动态网站(需要 JavaScript)

使用Playwright Simple

node scripts/playwright-simple.js "https://example.com"

示例输出:

{
  "url": "https://example.com",
  "title": "Example Domain",
  "content": "...",
  "elapsedSeconds": "3.45"
}

3️⃣ 受反爬虫保护的网站(如 Cloudflare 等)

使用Playwright Stealth

node scripts/playwright-stealth.js "https://m.discuss.com.hk/#hot"

功能:

  • 隐藏自动化标记 (navigator.webdriver = false)
  • 真实的用户代理(iPhone, Android)
  • 随机延迟以模拟人类行为
  • 支持截图和HTML保存

4️⃣ YouTube视频转录

使用deep-scraper(需单独安装):

# 安装 deep-scraper 技能
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.js

  • 使用场景:常规动态网站
  • 速度:快速(3-5秒)
  • 反爬虫:
  • 输出:JSON(标题、内容、URL)

scripts/playwright-stealth.js

  • 使用场景:具有Cloudflare或反爬虫防护的网站
  • 速度:中等(5-20秒)
  • 反机器人:中高(隐藏自动化,模拟真实用户代理)
  • 输出:JSON + 截图 + HTML文件
  • 已验证:在Discuss.com.hk上100%成功

🎓 最佳实践

1. 首先尝试 web_fetch

如果网站没有动态加载,使用OpenClaw的web_fetch工具——它是最快的。

2. 需要JavaScript?使用Playwright Simple

如果你需要等待JavaScript渲染,请使用playwright-simple.js

3. 被屏蔽了?使用Stealth

如果你遇到403或Cloudflare验证,请使用playwright-stealth.js

4. 特殊网站需要专门技能

  • YouTube → deep-scraper
  • Reddit → reddit-scraper
  • Twitter → bird skill

🔧 自定义设置

所有脚本都支持环境变量:

# 设置截图路径
SCREENSHOT_PATH=/path/to/screenshot.png node scripts/playwright-stealth.js URL

# 设置等待时间(毫秒)
WAIT_TIME=10000 node scripts/playwright-simple.js URL

# 启用有头模式(显示浏览器)
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 简单模式🚀 快⚠️ 低20%
Playwright 隐身模式⏱️ 中等✅ 中等100%
Puppeteer 隐身模式⏱️ 中等✅ 中高~80%
Crawlee (深度爬虫)🐢 慢❌ 被检测到0%
Chaser (Rust)⏱️ 中等❌ 被检测到0%

🛡️ 反机器人技术总结

从我们的测试中吸取的教训:

✅ 有效的反机器人措施

  1. 隐藏navigator.webdriver— 至关重要
  2. 真实的用户代理— 使用真实设备(iPhone, Android)
  3. 模拟人类行为— 随机延迟、滚动
  4. 避免框架特征— Crawlee、Selenium 容易被检测到
  5. 使用addInitScript(Playwright)— 在页面加载前注入

❌ 无效的反爬虫措施

  1. 仅更改用户代理—— 远远不够
  2. 使用高级框架(如Crawlee)—— 更容易被检测
  3. Docker 隔离—— 对绕过Cloudflare无帮助

🔍 故障排除

问题:403 禁止访问

解决方案:使用playwright-stealth.js

问题:Cloudflare 验证页面

解决方案:

  1. 增加等待时间(10-15秒)
  2. 尝试headless: false(非无头模式有时成功率更高)
  3. 考虑使用代理IP

问题:空白页面

解决方案:

  1. 增加waitForTimeout
  2. 使用waitUntil: 'networkidle''DOM内容加载完毕'
  3. 检查是否需要登录

📝 记忆与经验

2026年2月7日 Discuss.com.hk 测试结论

  • 纯 Playwright + 隐身模式成功 (5秒, 200 OK)
  • ❌ Crawlee (深度爬虫) 失败 (403)
  • ❌ Chaser (Rust) 失败 (Cloudflare)
  • ❌ Puppeteer 标准模式失败 (403)

最佳解决方案:纯 Playwright + 反机器人技术 (框架无关)


🚧 未来改进

  • 添加代理IP轮换
  • 实现Cookie管理 (维持登录状态)
  • 添加验证码处理 (2captcha / Anti-Captcha)
  • 批量爬取 (并行处理URL)
  • 与 OpenClaw 集成浏览器工具

📚 参考资料

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
上网淘巴领天猫淘宝优惠券,一年省好几千。

文章底部电脑广告
手机广告位-内容正文底部
上一篇:WhatsApp Business 下一篇:UI/UX Pro Max

相关文章

上网淘巴领天猫淘宝优惠券,一年省好几千。

广告  ×

您是本站第223236名访客 今日有66篇新文章/评论