核心用法
Browser Auto Download 是一款基于 Playwright 的浏览器自动化下载工具,专门解决传统命令行工具(curl/wget)无法处理的动态网页下载场景。它通过 Chromium 浏览器模拟真实用户行为,实现三层递进式下载策略:
1. 自动下载检测:页面加载时捕获触发的下载事件
2. 多步导航:识别并跳转至平台专属页面(如 PC 版、桌面版)
3. 智能点击回退:尝试多种 CSS 选择器点击下载按钮
显著优点
- 平台智能识别:自动检测 Windows/macOS/Linux 及 x64/ARM 架构,匹配对应下载链接
- 零配置自动化:内置关键词库(pc/desktop/电脑/桌面/客户端等),无需手动指定选择器
- 事件驱动捕获:监听浏览器下载事件,支持页面加载自动触发、弹窗拦截等传统工具无法处理的场景
- 可视化调试:默认非 headless 模式,便于排查复杂交互流程
- 结构化输出:返回 JSON 格式结果,含文件路径、大小、平台信息,易于脚本集成
潜在缺点与局限性
- 依赖 Chromium:首次使用需执行
playwright install chromium,占用约 100-150MB 存储 - 资源消耗:相比原生下载工具内存占用更高,不适合高频批量场景
- 速度延迟:浏览器启动、页面渲染引入秒级延迟,不适合追求极致速度的场景
- 单文件限制:当前版本未显式支持多文件同时下载或断点续传
- 反爬虫风险:部分网站可能检测 Selenium/Playwright 特征,需额外配置 User-Agent 或代理
适合人群
- 开发者需要自动化获取动态生成下载链接的软件(如微信开发者工具、美图秀秀等)
- CI/CD 流水线中需要下载客户端安装包的场景
- 数据工程师处理需要登录或 JavaScript 渲染后才能暴露下载地址的资源
- 个人用户希望一键获取跨平台软件对应版本,避免手动选择系统架构
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 供应链攻击 | 下载源被篡改植入恶意软件 | 校验文件哈希、使用官方 CDN |
| 信息泄露 | 浏览器可能携带本地 cookies | 使用 `--headless` 隔离环境或清理会话 |
| 系统资源耗尽 | 大文件(>1GB)或并发导致内存溢出 | 设置单任务执行、监控磁盘空间 |
| 目标网站封禁 | 频繁请求触发 rate limit | 添加随机延迟、使用代理轮换 |
技术栈
- Python 3.8+
- Playwright (Chromium)
- 无外部 API 依赖