
先统一 GB 与 GiB 的口径
十进制 1 GB = 1,000,000,000 字节;二进制 1 GiB = 1,073,741,824 字节。同一批字节,用前者除得出的数值会更大:1 GiB 约等于 1.074 GB。界面上写 GB 的软件不一定都使用同一个除数,因此不要直接拿两个界面的数字相减。
核对账单时,优先拿原始字节数和明确的换算规则比较。本文解释通用测量方法,具体套餐的扣量单位、上下行范围和倍率以产品实际规则及账户记录为准,不把某个客户端指标当作结算承诺。
文件大小不是完整的网络账单
打开一个页面通常还会获取样式、脚本、图片、字体和接口数据;随后可能发生自动刷新、视频预加载、WebSocket 通信或轮询。保存的 HTML 文件不包含这些请求。下载失败也可能已传输了部分响应,不能仅凭“没有成功保存文件”判断没有产生流量。
| 看到的指标 | 包含什么 | 常见遗漏 |
|---|---|---|
| 本地文件大小 | 最终保存的内容 | 其他资源、上传、失败尝试 |
curl size_download |
响应主体传输字节,不含响应头 | 上传、头部及其他连接 |
| 浏览器资源大小 | 依具体列显示解压后或传输大小 | 页面外请求、不同缓存口径 |
| 代理侧记录 | 按服务的计量规则统计 | 不应假设等于其中某个客户端值 |
curl 文档明确区分 size_download、size_header 和 size_upload;--compressed 下解压后输出的大小也可能不同。[1] HTTP 的 Content-Encoding 描述了内容编码方式,gzip 或 br 不会让所有类型的数据都按同一比例缩小。[2]
一个能自己复算的预算例子
假设一次任务的主文档及所需子资源共传输 2.0 MB,执行 1,000 次:基础下载约 2,000 MB。再假设其中 100 次重试,每次重试额外传输 1.5 MB,则增加 150 MB,合计 2,150 MB;还未包括上传、头部及服务规则内的其他数据。
这是算术示例,不是 MooProxy 实测,也不是每个网页的固定消耗。若失败都发生在返回主体前,重试增加的数据会更少;若每次都接近下载完成才失败,则会更多。
估算传输量 = 成功尝试的数据
+ 失败尝试中已经传输的数据
+ 必要的后台请求和上传
每条有效结果成本 = 该批次实际费用 / 有效结果数量
按这个顺序定位异常消耗
- 选择一个独立账号或测试时段,暂停同账号其他任务,记录余额与时间。
- 只执行一轮小样本,固定地区、任务数量和页面等待条件。
- 在 Network 面板或应用日志中检查请求数、资源类型、重定向和重试。
- 等待后台计量更新后再读余额,确认单位与倍率口径。
- 逐项改变设置再复测,不同时修改并发、图片和会话模式。
在共享账号仍持续跑任务时,对比两次余额无法分离这一批测试的用量。实时流量上报也可能有延迟,应保存完整测试时间窗口。
三个更有效的优化动作
- 减少不需要的请求:文本任务可尝试不加载图片或视频,但必须验证目标数据仍完整;截图任务通常不能这样处理。
- 控制失败放大:将连接错误、认证失败和目标限流分别处理,避免对固定错误无限重试。
- 检查复用和缓存:连接池可减少连接开销,缓存可减少重复资源;Playwright 的请求拦截会禁用 HTTP 缓存,需要测量取舍。
把“更少流量”和“结果正确”一起验收。只看费用降低,可能得到缺字段、没渲染完或需要重跑的数据,最终成本反而更高。
参考资料与编辑说明
资料核对:2026-10-19。本文为官方文档基础上的原创整理;代码为配置示例,不代表生产性能承诺。
准备好验证你的连接了吗?
从控制台生成配置,按指南完成小样本测试。