# 如何降低代理带宽成本：将您的GB账单减少60-90%

在按GB计费的代理中，您的账单是以字节为单位，而不是请求——其中大多数字节是您从未解析的图像和字体。以下是如何剥离它们并将住宅GB账单减少一半以上的方法。

在按GB计费的代理中，您的账单是以字节为单位，而不是请求——令人不安的事实是，其中大多数字节是您从未解析的图像、字体和样式表。单个全分辨率产品照片可能为2.2 MB；一个页面的完整浏览器渲染为2-5 MB。您实际提取的精简HTML通常不到150 KB。剥离其余部分，住宅GB账单可减少60-90%。本指南是实用手册：阻止资产，跳过未更改的页面，压缩，并路由到JSON而不是HTML。

## 首先，了解您被收取的费用

住宅带宽是根据双向传输的数据总和来衡量的：请求头加请求体，以及响应头加响应体。这意味着每个页面拉取的资产——每个图像、字体和跟踪脚本——都会出现在您的账单上，即使它们没有为您的解析器提供任何数据。优化目标很简单：只下载您提取的字节。其他一切都是您支付的浪费。

## 在无头浏览器中阻止资产

如果您正在驱动浏览器，这是最大的杠杆。Playwright和Puppeteer都允许您拦截请求并中止不需要的资源类型。阻止图像、媒体、字体和样式表通常可以将页面重量减少大部分——DOM仍然构建，因此您的选择器和任何水合JSON仍然存在：

```js
// Playwright: abort the resource types you never parse
await page.route('**/*', (route) => {
  const type = route.request().resourceType();
  if (['image', 'media', 'font', 'stylesheet'].includes(type)) {
    return route.abort();
  }
  return route.continue();
});
await page.goto(url, { waitUntil: 'domcontentloaded' });
```

两个注意事项：不要阻止承载您所需数据的XHR/fetch调用，并测试页面是否仍然呈现您所需的内容——过度阻止可能会破坏网站自身的逻辑。如果您在浏览器和普通请求之间权衡，我们对[渲染与HTTP请求成本](https://quantumproxies.io/blog/headless-browser-vs-http-requests-cost)的分析显示了10-50倍的差距，使得这个决定变得重要。

![按代理计费方式看的商品页面：一张 2.2 MB 的全分辨率照片及其周围的字体、样式表和脚本，对比你真正需要解析的精简 HTML，后者通常不到 150 KB。卡片列出了大小：每次完整浏览器渲染 2-5 MB，屏蔽这些资源后账单可减少 60-90%。](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785335198/blog/generated/qp-b9-068-diag1.png)
*您支付的是整个页面，但只解析其中的一小部分——阻止资产是可用的最便宜的大胜利。*

## 跳过未更改的页面

最便宜的字节是您不下载的字节。两种技术可以减少监控作业中的重新获取浪费。HEAD请求仅提取头以检查`Content-Length`或`Last-Modified`，然后再提交完整的GET。更好的是，条件GET发送上次的ETag或时间戳，当没有变化时，服务器以`304 Not Modified`和空体响应——您只需支付几个头字节，而不是整个页面：

```python
import requests

# conditional GET: 304 = near-zero bytes when unchanged
headers = {"If-None-Match": last_etag,
           "If-Modified-Since": last_seen}
r = requests.get(url, headers=headers, proxies=proxies, timeout=20)

if r.status_code == 304:
    pass  # unchanged, no body downloaded, no GB spent
else:
    process(r.content)
    last_etag = r.headers.get("ETag")
```

对于每天重新检查相同页面的抓取器，仅条件GET就可以显著减少带宽，因为大多数页面在运行之间不会更改。

## 始终接受压缩

文本压缩效果很好——HTML、JSON和CSS通过gzip或brotli可以缩小70-90%——您按实际跨线的压缩大小计费。在Python的`requests`中，这在默认情况下是开启的；在原始客户端中，请明确要求：

```python
headers = {"Accept-Encoding": "gzip, deflate, br"}
r = requests.get(url, headers=headers, proxies=proxies, timeout=20)
# requests transparently decompresses; you're billed on the small size
```

## 路由到JSON，而不是HTML

最大的结构性胜利是完全跳过渲染页面。许多网站从JSON端点获取相同数据，只需很少的字节——产品的价格和库存作为10 KB的API响应，而不是3 MB的渲染页面。在浏览器的网络选项卡中找到XHR调用并直接访问它。Shopify商店是经典示例：[products.json端点](https://quantumproxies.io/blog/shopify-products-json-scraping)将整个目录交给您，没有任何HTML。当您可以读取API时，请这样做——这是每条记录从千字节到兆字节的区别。

## 让API为您计算字节

如果您不想为每个网站手动调整阻止规则，[Scraper API](https://quantumproxies.io/scraper-api)仅在需要时渲染并返回解析的markdown或JSON，为您剥离资产——您收到的是提取的内容，而不是其来源的兆字节。在[按GB计费的住宅代理](https://quantumproxies.io/residential-proxies)中，节省是直接的：线上字节越少，账单上的美元越少，而您保留的数据没有任何损失。有关千兆字节实际购买的完整图景，请参阅我们对[每GB定价](https://quantumproxies.io/blog/residential-proxy-pricing-per-gb-explained)的分析。

![一个 Playwright 路由处理程序，中止所有图片、媒体、字体和样式表请求，其余请求放行。卡片对资源进行了划分：屏蔽被计费却用不到的图片、媒体、字体和 CSS；保留承载数据的 HTML、JSON 以及 XHR 或 fetch 调用，并测试页面是否仍能渲染出这些数据。](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785335199/blog/generated/qp-b9-068-diag2.png)
*阻止计费但未使用的资源；保留承载实际数据的HTML、JSON和XHR端点。*

[在按GB计费的住宅代理上更精简地抓取](https://quantumproxies.io/residential-proxies)

## 常见问题解答

### 代理带宽如何计算？

通过双向传输的总字节数：请求头加请求体，以及响应头加响应体。因此，每个页面加载的图像、字体和脚本都计入您的使用量，而不仅仅是您解析的HTML。这就是为什么阻止未使用的资产和跳过未更改的页面直接转化为按GB计费计划上的较低账单的原因。

### 阻止图像会破坏抓取吗？

如果您小心的话，不会。阻止图像、媒体、字体和样式表会保留DOM和JavaScript，因此您的选择器和任何水合JSON仍然有效——您只是跳过了视觉负载。风险在于过度阻止：绝不要中止承载您数据的XHR/fetch调用，并在大规模运行之前测试页面是否仍然生成您所需的内容。

### 最大的带宽节省是什么？

路由到JSON端点而不是渲染完整页面，这是存在的地方。10 KB的API响应可以替代3 MB的渲染以获得相同的记录——减少99%。在那之后，在无头浏览器中阻止资产和在重新抓取时使用条件GET是最大的胜利。压缩几乎是免费的，应该始终开启。

### 我可以实际节省多少？

阻止资产通常可以将渲染页面的重量减少一半以上；条件GET可以将不变页面的重新抓取带宽减少到接近零；从HTML切换到JSON路由通常可以减少每条记录90%以上。结合在一起，对住宅GB账单减少60-90%是大多数项目的现实目标。

这些都不会改变您提取的内容——它改变的是您为提取它所支付的费用。阻止您从未读取的资产，跳过未移动的页面，接受压缩，并优先选择JSON路由而不是完整渲染。在按GB计费的代理上，这四个习惯通常会将账单降低一半以上。有关如何在数百万页面上扩展的架构，请参阅我们的[大规模抓取架构指南](https://quantumproxies.io/blog/large-scale-web-scraping-architecture)。

[获取解析内容而没有浪费的字节](https://quantumproxies.io/scraper-api)
