该技能是使用 go-rod 进行浏览器自动化和网页抓取的综合指南,核心基于 Chrome DevTools Protocol(CDP),并包含 stealth 反机器人检测模式。
用途:当用户要求用 Go 抓取、自动化或测试网站时使用;需要无头浏览器处理动态/SPA 内容(React、Vue、Angular)时使用;涉及 stealth、反机器人、规避检测、Cloudflare 或机器人检测绕过时使用;从 Go 直接使用 CDP 时使用;在浏览器上下文拦截或劫持网络请求时使用;需要 Go 并发抓取或页面池时使用;从 chromedp 或 Playwright Go 迁移并寻求更简单 API 时使用。
主要能力:默认行为为导航并读取页面内容(抓取/测试);浏览器上下文相互隔离,除非显式保存,否则 cookie 和存储不持久;遵循 Go 的 defer 模式自动关闭浏览器和页面;除非脚本显式提交表单或 POST 数据,否则不修改外部状态。
使用方式:执行前应阅读详细指南,其安全、前置条件和验证要求视为强制。聚焦任务可加载相关章节,端到端任务应完整阅读指南。examples/ 目录提供可运行的 Go 文件:examples/basic_scrape.go 最小抓取示例、examples/stealth_page.go 使用 go-rod/stealth 反检测、examples/request_hijacking.go 拦截并修改网络请求、examples/concurrent_pages.go 并发抓取的页面池。
限制:不包含 CAPTCHA 解决,需单独集成 2captcha 等外部服务;go-rod/stealth 可处理常见检测(WebDriver、插件指纹、WebGL),但极严格系统(部分 Cloudflare 配置、Akamai Bot Manager)仍可能检测到自动化,可能需要住宅代理和类人行为模式;无法与 DRM 保护媒体(如 Widevine)交互;每个浏览器实例消耗大量内存(约 100-300MB 以上),内存受限系统应使用 PagePool 并限制并发;Chrome 扩展在无头模式下不可用,服务器环境需使用 Headless(false) 配合 XVFB;需要 Chromium 兼容浏览器,不支持 Firefox 或 Safari。风险等级为安全(🔵)。