无头浏览器,读懂动态网页

Browser

收藏 6k
下载 12.8k
版本 1.0.0

基于 Puppeteer 的无头浏览器自动化工具,可渲染 JS 密集型网页并提取文本内容,适合获取动态加载内容,但存在 SSRF 风险和沙箱配置问题。

基本信息

  • 技能名称?Browser
  • 中文名称?无头浏览器,读懂动态网页
  • 作者?pshotts
  • 分类?专业技能
  • 版本?1.0.0
  • 标签?web-scraping, headless-browser, puppeteer, dynamic-content, ssrf-risk

使用方法

使用说明
核心用法
Browser Skill 是基于 Puppeteer 的无头浏览器自动化工具,主要用于:
渲染 JavaScript 密集型网页(SPA、动态内容网站)
提取干净、可读的文本内容
访问常规 HTTP 请求无法获取的动态加载数据
基础命令:
openclaw browser read 该命令会启动 Chromium 无头浏览器,导航至指定 URL,等待页面完全渲染后提取文本内容返回。
显著优点

  1. 动态内容支持 :相比简单的 HTTP 请求,能完整执行页面 JavaScript,获取 React、Vue 等框架渲染后的真实内容
  2. 内容结构化 :自动提取可读文本,过滤广告和导航等噪音
  3. 官方依赖 :基于 Puppeteer 官方库,依赖审计通过,无已知 CVE
  4. 代码简洁 :仅 41 行可执行代码,结构清晰,无混淆或恶意特征
    潜在缺点与局限性
  5. 安全沙箱绕过 :使用 --no-sandbox 启动参数,降低了浏览器与宿主机的隔离级别
  6. SSRF 风险 :URL 输入缺乏验证,可能访问内网服务、元数据端点(如 AWS 169.254.169.254)或 file:// 协议
  7. 性能开销 :启动完整浏览器比 HTTP 请求消耗更多资源,不适合高频调用
  8. 超时控制不足 :缺乏明确的页面加载超时和请求大小限制
  9. 错误信息泄露 :原始错误消息可能暴露内部系统信息
    适合人群
    需要获取 JavaScript 渲染内容的用户(如现代新闻网站、文档站点)
    在受控网络环境中使用的开发者
    能够评估并承担 SSRF 风险的进阶用户
    不建议使用场景:
    处理不可信用户输入的 URL
    多租户环境或共享基础设施
    对延迟敏感的高频查询
    常规风险
    | 风险项 | 等级 | 说明 | |--------|------|------| | SSRF(服务器端请求伪造) | 中 | 可访问内网资源,需严格输入控制 | | 沙箱绕过 | 中 | 恶意页面可能突破浏览器隔离 | | 数据外泄 | 低 | 可能将本地数据编码至 URL 发出 | | 资源耗尽 | 低 | 无超时/大小限制,可能挂起或内存溢出 | 缓解建议: 在隔离容器中使用,配合 URL 白名单(仅允许 http/https,拒绝私有 IP 和 localhost),添加 30 秒超时和响应大小限制。

标签

专业技能

💬 评论 (0)

发表评论

支持 Markdown

📭 还没有评论,快来抢沙发吧!