Puppeteer 隐身爬虫
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/puppeteer-stealth-scraper-agent。
技能介绍
要解决的抓取问题
普通 Puppeteer 页面容易留下明显的浏览器自动化痕迹,目标站点可以通过脚本接口、运行环境和渲染指纹把流量识别为机器人。另一个问题是 IP 被连续复用后会触发限流、验证码或封禁,让抓取任务在数据量尚未跑完时就中断。
技能如何工作
- 使用
puppeteer-extra接管浏览器控制,并搭配puppeteer-extra-plugin-stealth做反检测封装。 - 对 Canvas 指纹做欺骗,降低同一渲染环境在不同会话间过于一致的风险。
- 对 WebGL vendor 信息做遮蔽,避免显卡/驱动相关字段直接暴露。
- 结合住宅代理轮换,把请求分散到不同出口 IP,减少单 IP 频繁访问带来的封禁压力。
- 通过基于 Puppeteer 的 MCP server 执行浏览器自动化和调试,便于把页面导航、等待、元素读取等动作接到现有 Agent 流程中。
适用边界与注意点
- 这类方案能降低常见检测面,但不能承诺绕过所有站点;行为轨迹、TLS 指纹、IP 信誉、账号体系和风控策略仍可能触发拦截。
- 住宅代理质量、地域限制和目标站的访问策略会直接影响成功率,建议做好超时、重试和失败记录。
- 抓取前需要确认目标站点条款、robots 规则和所在地法律要求,并控制频率与数据范围。
- 指纹伪装、代理配置和抓取任务状态应隔离管理,避免多个任务共享同一浏览器上下文或同一代理池状态。
- 页面结构变化时,仍需维护选择器、等待条件和异常处理逻辑。
使用场景
- 爬虫工程师需要抓取受反爬保护的动态页面,并用住宅代理轮换避免单 IP 被限流
- 数据分析师批量采集商品价格与评论时,需要降低 Puppeteer 被站点识别为自动化浏览器的风险
- 后端工程师通过 Puppeteer MCP server 驱动浏览器,完成登录态下的页面操作和调试
- 测试工程师需要验证前端指纹逻辑时,用 Canvas 与 WebGL 伪装改变浏览器指纹输出
适合人员
- 爬虫工程师,需要抓取有 Cloudflare 或类似防护的目标站点并减少封禁中断
- 数据分析师,要在采集电商商品信息时绕开自动化检测和频繁验证码
- 后端工程师,想用 MCP server 把 Puppeteer 浏览器操作接入现有 Agent 流程
- 测试工程师,需要验证或模拟 Canvas、WebGL 指纹相关行为并观察页面结果