跳至内容
免费开始
返回博客

2026年最佳共享和专用数据中心代理

Anda Miuțescu最后更新于 6 min read
2026年最佳共享和专用数据中心代理

开始提取

免费试用 WebScrapingAPI

领取 1,000 个免费 API 积分。无需信用卡。

开始使用
简而言之:如果要低成本地大规模抓取防护较弱的网站,Decodo 和 Webshare 的共享数据中心代理价格最低。如果需要大规模专用 IP,SquidProxies、Oxylabs 和 Bright Data 在最高档位的价格可降至每个 IP 0.80 至 1.30 美元。如果预算有限又希望减少共用者,请选择 Rayobyte 或 BuyProxies 的半专用 IP。本指南按标价对比了 11 家服务商。

数据中心代理是您能买到的用于网页抓取速度最快、价格最便宜的IP地址,但“共享”、“半独立”和“独立”套餐的定价和计费方式差异巨大,一旦将流量、重试次数和封禁次数等因素累加起来,标价最低的套餐往往反而成本最高。 在共享IP上,甚至在你发送第一个请求之前,其他客户就可能导致该地址被标记。

本指南根据当前标价对比了 11 家数据中心代理服务商,针对每项任务各推荐一家,并附有两个简短的 Python 脚本:一个是按 IP 计算与按 GB 计算成本的计算器,另一个是用于检测您的 IP 是否表现得像专用 IP 一样的检查工具。 WebScrapingAPI 销售数据中心代理,因此我们将自家产品列在首位,并说明在哪些情况下其他供应商更合适。

哪些是最佳的共享型和专用型数据中心代理?

对于对安全防护较弱的网站进行低成本批量抓取,Decodo 和 Webshare 的共享 IP 单价最低。 若需大规模使用专用 IP,SquidProxies、Oxylabs 和 Bright Data 的顶级套餐单个 IP 价格在 0.80 至 1.30 美元之间。Rayobyte 和 BuyProxies 提供半专用 IP,而 WebScrapingAPI 则根据工作负载提供共享或专用 IP 分配方案。

没有哪家供应商能包揽所有任务,因此下表针对每项任务各选出一家。

任务

推荐

理由

起始价格

对防护较弱的网站进行低成本批量抓取

Webshare 或 Decodo(共享)

本次对比中每IP共享价格最低

Webshare 100个IP每月2.99美元;Decodo 100个IP每月3.50美元

小型测试列表或免费入门

Webshare

10个免费共享代理

免费

预算有限时邻居更少

Rayobyte(半独立服务器)

每个IP最多支持3名用户

每个IP地址1.00美元,最低0.75美元

批量购买专用 IP

SquidProxies

按IP统一计费,带宽不限

500个IP地址起,每个IP 0.80美元

多个国家的专用IP

Oxylabs

提供188个国家的专用IP

每IP 2.00美元,最低可降至1.20美元

一个账户内支持共享、专用及按GB计费

Bright Data

提供这三种计费模式

共享型 1.40 美元/IP,专用型 2.20 美元/IP,0.60 美元/GB

专用IP支持按城市或州定向

IPRoyal

支持按州和城市定向投放

每IP 1.57美元(30天)

分配范围限定于生产环境工作负载

WebScrapingAPI

根据流量、国家/地区和并发量提供共享或专用配额

定制报价

完整对比表中出现破折号,表示该服务商不提供该级别的数据中心套餐。

服务商

共享(按 IP/月计费)

半独立(按IP/月)

独立服务器(每IP/月)

每GB

协议

所列位置

WebScrapingAPI

报价

—

报价

—

按账户分配

按账户分配

Bright Data

1.40 美元(10 个 IP)至 0.90 美元(1,000 个 IP)

—

2.20 美元(10 个 IP)至 1.30 美元(1,000 个 IP)

按需付费 0.60 美元;5 TB 套餐 0.42 美元

通过其代理管理器支持 SOCKS5

国家级定向

Oxylabs

1.00 美元至 0.60 美元

—

2.00 至 1.20 美元

0.60 至 0.40 美元

HTTP、HTTPS、SOCKS5

38个国家(共享),188个(专用),44个(按GB计费)

Decodo

0.035 美元(100 个 IP)至 0.02 美元(15,000 个 IP)

—

1.85 美元(3 个 IP)至 1.35 美元(200 个 IP)

0.60 美元 至 0.45 美元

HTTP(S)、SOCKS5

18个国家(共享);美国、英国、德国、日本(专用)

Webshare

0.0299 美元(100 个 IP,2.99 美元/月);10 个免费

“私有”套餐:25个IP起,每月18.52美元起

1.33 美元(20 个 IP 地址)

—

HTTP、SOCKS5

50多个国家

Rayobyte

—

1.00 美元至 0.75 美元(美国和加拿大)

2.50 美元至 1.88 美元(美国)

0.30 至 0.23 美元,按需付费

HTTP(S)、SOCKS

29个国家

IPRoyal

—

—

1.57 美元(30 天)至 1.39 美元(90 天)

—

HTTP、HTTPS、SOCKS5

50多个国家,支持按州和城市定位

SquidProxies

—

—

1.50 美元(10 个 IP)至 0.80 美元(500 个 IP)

—

未公布

未公布

BuyProxies

—

1.25 美元(10 个 IP)

2.50 美元(5 个 IP)

—

HTTP、SOCKS5、UDP

美国、加拿大、法国、德国、澳大利亚及其他地区

HighProxies

—

—

1.84 美元(1–5 个 IP)至约 1.32 美元(150–200 个 IP)

—

HTTP、HTTPS

未公布

MyPrivateProxy

1.00 美元(50 个 IP)

—

2.49 美元(1 个 IP)

—

未发布

未公布

所有价格均为美元,不含税,以撰写本文时各服务商自身定价页面显示的价格为准。服务商经常调整价格,因此请在结账时确认具体金额。

共享型、半独立型和独立型数据中心代理之间有什么区别?

共享数据中心代理由多名客户同时使用,因此价格最低,但会继承其他用户的封禁记录。 半专用IP由一小群用户共享,Rayobyte和BuyProxies等服务商将其用户上限设为三人。专用IP归单个客户所有,因此该IP的信誉、速度和目标访问记录均由您独自掌控。

等级

每个IP的用户数

本对比中每IP每月价格

主要风险

最适合

共享

众多

约0.02至1.40美元

其他客户的封禁和速率限制会波及到你

小型、一次性或防护要求较低的任务

半专用

最多3个(Rayobyte、BuyProxies)

0.50 至 1.25 美元

一小部分你无法控制的共享历史记录

希望减少邻居数量的中等规模任务

专用

1

0.80 至 3.00 美元

费用,且你引发的封禁将伴随你

登录操作、长时间会话、记录IP历史的网站

“坏邻居”问题正是分级制度存在的缘由。如果另一位客户通过共享 IP 地址、无延迟且使用默认用户代理访问了您计划抓取的商家网站,那么在您使用该 IP 之前,商家可能已经对该 IP 返回了验证码或 403 错误。 半专用方案将该风险缩小至仅影响另外两名用户,而专用方案则完全消除该风险——不过,专用IP的封禁仍取决于您自身的请求模式。

“数据中心”描述了IP地址的所有者。这些IP地址由托管和云服务公司注册,并分配了IANA授予的自治系统编号,任何人都可以通过公共注册数据(ARIN RDAP)或RIPE NCC及其他区域注册机构的对应数据查询某个IP范围的所有者。 因此,网站可以一次性屏蔽整个数据中心地址段,而来自同一 /24 子网(256 个连续地址)的众多 IP 地址所提供的保护程度,往往低于其数量所暗示的水平。关于住宅 IP、ISP IP 和移动 IP 之间的区别,请参阅我们关于网络爬虫代理类型的指南。

按千兆字节计费的轮换代理池是第四种购买方式:您不拥有任何地址,服务商会根据每次请求或会话分配一个新的出口IP。这种方式适用于跨多个网站或国家的任务;有关具体工作原理,请参阅轮换代理的工作机制。

数据中心代理的计费方式是按IP还是按GB?

按 IP 计费的套餐针对每个 IP 收取月费,通常在公平使用政策下提供无限带宽。按 GB 计费的套餐按流量收费,并为您提供轮换池的访问权限。对于通过固定 IP 集传输的大流量且稳定的任务,按 IP 计费更具优势;而对于流量较小、突发性或分布广泛的任务,按 GB 计费则更胜一筹。

大多数共享、半独立和独立方案均按IP计费,且随着套餐规模的增加,单个IP的价格会相应降低。以Bright Data的独立IP为例,购买10个IP时单价为2.20美元,购买1,000个时单价为1.30美元。

这种“无限”带宽几乎总是附带合理使用政策,具体表述各不相同:

  • Bright Data 的常见问题解答规定,每个 IP 每月享有 100 GB 的公平使用配额(该配额在整个套餐中合并计算),并指出超出该配额可能产生额外费用。
  • Oxylabs 将每个 IP 的带宽标注为“无限制(受公平使用政策约束)”,但未具体说明数值。
  • Rayobyte 在其“无限”带宽标注旁标有星号:适用公平使用政策。
  • Webshare 的共享、私有和专用套餐均受其“公平使用政策”约束。

如果服务商公布了具体数值,请据此选择合适的套餐;如果没有,在通过少数几个 IP 地址传输数百 GB 数据之前,请先咨询确认。

按 GB 计费的套餐则按流量收费。 Bright Data、Oxylabs 和 Decodo 的入门价格均为每 GB 0.60 美元,随着流量增加,价格会相应下降:Bright Data 的 5 TB 套餐为 0.42 美元,Oxylabs 的最高档套餐为 0.40 美元,Decodo 的 1,000 GB 套餐为 0.45 美元。 Rayobyte 的轮换池按需付费费率为:3 至 50 GB 每 GB 0.30 美元,351 至 1,000 GB 降至 0.23 美元, 月度套餐价格则从 7,600 GB 100 美元(每 GB 0.0132 美元)到 625,000 GB 5,000 美元(每 GB 0.0080 美元)不等。

合约期限也会影响计费方式。IPRoyal对每个IP地址的收费标准为:30天1.57美元,60天1.48美元,90天1.39美元。 Rayobyte 提供预付 3 个月、6 个月或 12 个月的额外折扣,分别减免 5%、10% 或 15%;而 Webshare 则对按年计费提供折扣。

哪些数据中心代理服务商值得购买?

有十一家供应商值得关注。Bright Data、Oxylabs 和 Decodo 提供共享型、专用型以及按 GB 计费的套餐。Webshare 和 Rayobyte 则涵盖共享型、半专用型和专用型服务层级。 IPRoyal、SquidProxies、HighProxies、BuyProxies 和 MyPrivateProxy 专注于按 IP 计费的套餐,而 WebScrapingAPI 则根据报价提供共享或专用配额。

WebScrapingAPI:根据您的工作负载量身定制的托管分配方案

如果您运行自己的爬虫,并希望数据中心容量与生产工作负载相匹配,请选择此方案。我们的数据中心代理专为在允许数据中心流量的网站上进行高吞吐量数据采集而设计。 定价为定制化方案,根据流量规模、国家/地区、共享或专用分配,以及并发量、轮询频率和技术支持需求进行定价。您可以在确定生产环境容量之前,先对具有代表性的目标进行评估。端点、身份验证、协议和地理位置均按账户分配。

注意事项:没有公开的按IP计价方案,因此如果您希望在几分钟内获得一张卡上的十个IP地址,以下服务商能提供更快的响应。

Bright Data:单个账户支持共享、专用及按 GB 计费

Bright Data 适合希望在不更换服务商的情况下切换计费模式的团队:

  • 共享:10 个 IP 地址时每个 1.40 美元(每月 14 美元),100 个时每个 1.00 美元,500 个时每个 0.95 美元,1,000 个时每个 0.90 美元。
  • 专用:10 个 IP 时单个 IP 2.20 美元(每月 22 美元),100 个时 1.70 美元,500 个时 1.50 美元,1,000 个时 1.30 美元。
  • 按 GB 计费:按需付费为 0.60 美元,1 TB 套餐(每月 499 美元)为 0.51 美元,2 TB 套餐(999 美元)为 0.45 美元,5 TB 套餐(1,999 美元)为 0.42 美元。
  • SOCKS5 通过其代理管理器运行,并列出了国家/地区级别的定位选项。

每个 IP 地址适用 100 GB 的公平使用限额,若您使用 10 个 IP 地址的入门套餐并传输大量流量,费用会相当高。

Oxylabs:覆盖国家最多的专用IP

Oxylabs 列出了 188 个国家的专用 IP(不仅限于常见的美国和西欧),此外还有 38 个国家提供按 IP 计费的共享方案和 44 个国家提供按 GB 计费的方案,这三类方案均支持 HTTP、HTTPS 和 SOCKS5。

专用 IP 的单价为 2.00 美元,选择更大套餐时价格将降至 1.75 美元、1.45 美元和 1.20 美元。 按IP共享套餐起价为1.00美元,随着套餐规模增加,价格将降至0.90美元、0.80美元和0.60美元。按GB计费的套餐起价为0.60美元,降至0.55美元、0.45美元和0.40美元。

单一订阅余额可跨Oxylabs产品使用:入门版每月30美元,基础版100美元,灵活版500美元,企业版2,500美元起,另附5美元免费信用额度,单价由套餐决定。

缺点在于:按 GB 计费的套餐设有流量上限(20 GB 至 2 TB),且最低的单 IP 价格需选择“企业”套餐。

Decodo:包含流量的廉价共享 IP

若需批量抓取公开网站,且最看重低廉的每IP价格,不妨考虑Decodo。

共享IP的价格为100个IP时每个0.035美元(每月3.50美元),购买15,000个IP时降至每个0.02美元(300美元),按IP付费的套餐包含流量,起始流量为10 GB。 专用 IP 的价格为:3 个 IP 每 IP 1.85 美元(共 5.55 美元),随后为 1.75 美元(10 个)、1.65 美元(25 个), 1.55 美元(50 个)、1.45 美元(100 个)和 1.35 美元(200 个)。 按GB计费的套餐价格从10 GB 0.60美元(6美元)起,最高至1,000 GB 0.45美元(450美元)。

共享IP覆盖18个国家,专用IP则覆盖美国、英国、德国和日本。套餐按月计费并加收增值税,两类套餐均支持HTTP(S)和SOCKS5协议。

不过,按IP计费的共享套餐起始数量为100个IP,而专用IP仅在四个国家/地区提供。

Webshare:小型共享列表和免费入门

测试功能和极具性价比的共享列表是 Webshare 的优势所在。

其共享“代理服务器”套餐包含10个免费代理,之后100个代理每月收费2.99美元, 1,000 个每月 26.91 美元,5,000 个每月 119.60 美元,60,000 个每月 1,076.40 美元。 Webshare 称“私有”代理仅与少数用户共享,25 个代理每月 18.52 美元,100 个 66.30 美元,1,000 个 551.25 美元。 专用套餐方面,20个代理每月26.60美元(每个1.33美元),100个119美元,1,000个975美元。

HTTP和SOCKS5协议覆盖50多个国家,按年付费更划算。

共享列表按设计本就拥挤,且页面未说明有多少用户共享一个“私有”IP。

Rayobyte:半专用IP和低价轮换数据中心流量

Rayobyte 适合两种需求:预算有限且希望减少邻居数量的情况,以及高流量轮换数据中心流量的情况。价格因国家而异:

  • 美国专用(静态数据中心)IP地址的价格为:5–99个IP每个2.50美元,100–999个每个2.13美元, 1,000–4,999个IP时为$1.88,企业级价格在承诺使用后从$0.85起。英国IP价格为每个$3,加拿大为$2.50。
  • 半专用 IP(最多 3 名用户)的价格为:5–99 个 IP 时每个 1.00 美元,100–999 个时每个 0.85 美元,1,000–4,999 个时每个 0.75 美元,企业级价格从 0.50 美元起。 上述价格适用于美国和加拿大;其他国家起价为1.20美元。
  • 轮换数据中心流量采用按量付费模式,每 GB 0.30 至 0.23 加元起,或月度套餐 100 加元起(含 7,600 GB)。

该服务列出了 29 个支持 HTTP(S) 和 SOCKS 的国家。

由于定价是按国家/地区设定的,因此美国的数字并不适用于所有地区。

IPRoyal:支持按城市或州定位的专用 IP

当专用 IP 需要定位到美国特定州或城市时,IPRoyal 是理想之选。该服务仅销售专用 IPv4 数据中心代理,价格按租赁周期计费: 30天每代理1.57美元,60天1.48美元,90天1.39美元,覆盖50多个国家,支持HTTP、HTTPS和SOCKS5协议,且线程数无限制。

由于不提供共享套餐或按GB计费的方案,对于一次性的大流量需求而言,这并非最经济的方案。

SquidProxies:简单易用的批量专用代理套餐

SquidProxies 以固定且可预测的价格提供数百个专用 IP,其方案设计简洁明了:仅提供专用数据中心代理,所有套餐均支持无限带宽,价格为 10 个 IP 每 IP 1.50 美元(每月 15 美元),50 个 IP 每 IP 1.10 美元(每月 55 美元), 100个IP地址为1.00美元(100美元),500个IP地址为0.80美元(400美元)。在500个IP地址的方案中,其单个IP的专用价格在本对比中最低。

该服务不提供共享型、半专用型或按 GB 计费的套餐,且其定价页面未列出协议或地理位置信息,因此请务必先确认这两项内容。

BuyProxies:小型专用或半专用套餐

支持 SOCKS5 协议的小型私有 IP 套餐是 BuyProxies 的特色服务。 两个数据中心等级均包含无限带宽,并支持HTTP、SOCKS5和UDP协议。专用代理的起价为每月12.50美元(5个,每个2.50美元),最高为每月1,675美元(1,000个,每个约1.68美元); 半专用代理(最多由三名用户共享)的起价为每月 12.50 美元(10 个,每个 1.25 美元),最高可达每月 837.50 美元(1,000 个,每个约 0.84 美元)。提供 24 小时退款保证。

不提供按GB计费的套餐,且25号端口(外发邮件)已关闭。

HighProxies:少量专用IP

如果您只需要一个到几十个专用IP,HighProxies提供按每个代理每月计费的专用IPv4私有代理: 1 个或 5 个代理为 1.84 美元,10 个为 1.76 美元,20 个为 1.68 美元,50 个为 1.36 美元,150–200 个约为 1.32 美元。

其私有代理仅支持 HTTP/HTTPS(SOCKS5 作为单独产品销售),且不提供共享级别的服务。

MyPrivateProxy:提供退款期限的私有代理

需要单个私有IP,还是带退款期的中等规模共享套餐?MyPrivateProxy都能满足。

专用(独立)代理单个每月2.49美元,5个每月11.75美元(每个2.35美元),大套餐中单个代理的费用更低。 共享套餐起价为每月 50 美元(50 个,每个 1.00 美元),最高套餐中单个代理的费用低至 0.62 美元。

所有套餐均包含每月 IP 随机切换选项、无带宽限制、每个代理最多支持 100 个线程,并提供 3 天退款保证。

共享套餐未说明的是,每个IP地址由多少用户共享。

未包含:ProxyBonanza(设有流量上限的共享套餐)和 Shifter(不再销售数据中心代理)。

如何验证专用代理是否真正专属?

通过代理向IP回显服务发送重复请求,并记录出口IP。专用或粘性代理每次返回的IP都相同。然后检查您的IP覆盖了多少个/24子网,以及注册机构列出的网络所有者是谁,因为共享同一子网的IP往往会被一起封禁。

下面的脚本会执行这些检查,并从 PROXY_URL 环境变量中读取,格式符合 Requests 库中 proxies 设置的要求,因此凭据绝不会出现在您的代码或输出中。设置 SOCKS_URL ,即可通过 SOCKS5 协议(RFC 1928)重复测试。通过 HTTP 代理访问 HTTPS 时,会利用 HTTP CONNECT 方法(RFC 9110)打开的隧道,因此普通的 HTTP 代理 URL 即可覆盖 HTTPS 目标。

请先安装以下依赖项:

pip install "requests[socks]"
"""Check what a datacenter proxy really gives you: static or rotating exit,
how many /24 subnets, who owns the network, latency, and SOCKS5 support.

Usage:
    export PROXY_URL="http://user:pass@host:port"     # your proxy
    python dc_proxy_check.py --requests 10
Optional:
    export SOCKS_URL="socks5h://user:pass@host:port"  # same proxy over SOCKS5
Requires: pip install "requests[socks]"
"""
import argparse
import ipaddress
import os
import statistics
import time

import requests

IP_ECHO = "https://httpbin.org/ip"
RDAP_BOOTSTRAP = "https://rdap.org/ip/{ip}"  # redirects to the right regional registry


def exit_ip(session, proxy):
    start = time.perf_counter()
    r = session.get(IP_ECHO, proxies={"http": proxy, "https": proxy} if proxy else None, timeout=20)
    r.raise_for_status()
    elapsed = (time.perf_counter() - start) * 1000
    return r.json()["origin"].split(",")[0].strip(), elapsed


def network_owner(ip):
    """Look up the registered network for an IP over RDAP (RFC 9083 JSON)."""
    try:
        r = requests.get(RDAP_BOOTSTRAP.format(ip=ip), timeout=20,
                         headers={"Accept": "application/rdap+json"})
        r.raise_for_status()
        d = r.json()
        return f"{d.get('name', '?')} ({d.get('startAddress', '?')} - {d.get('endAddress', '?')}, {d.get('country') or 'n/a'})"
    except (requests.RequestException, ValueError) as e:
        return f"lookup failed: {e.__class__.__name__}"


def run(label, proxy, n):
    s = requests.Session()
    ips, times, errors = [], [], 0
    for _ in range(n):
        try:
            ip, ms = exit_ip(s, proxy)
            ips.append(ip)
            times.append(ms)
        except requests.RequestException:
            errors += 1
    print(f"\n== {label} ==")
    if not ips:
        print(f"All {n} requests failed")
        return
    unique = sorted(set(ips))
    subnets = {str(ipaddress.ip_network(f"{ip}/24", strict=False)) for ip in unique if ":" not in ip}
    print(f"Requests ok      : {len(ips)}/{n} ({len(ips) / n:.0%})")
    print(f"Unique exit IPs  : {len(unique)} -> {'static (dedicated or sticky)' if len(unique) == 1 else 'rotating'}")
    print(f"Distinct /24s    : {len(subnets)}")
    print(f"Latency ms       : median {statistics.median(times):.0f}, max {max(times):.0f}")
    for ip in unique[:5]:
        print(f"Owner of {ip:<15}: {network_owner(ip)}")


def main():
    p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
    p.add_argument("--requests", type=int, default=10)
    p.add_argument("--baseline", action="store_true", help="also run without a proxy for comparison")
    a = p.parse_args()

    proxy = os.environ.get("PROXY_URL")
    socks = os.environ.get("SOCKS_URL")
    if a.baseline or not proxy:
        run("No proxy (your own IP)", None, a.requests)
    if proxy:
        run("HTTP proxy", proxy, a.requests)
    if socks:
        run("SOCKS5 proxy", socks, a.requests)


if __name__ == "__main__":
    main()

在环境中设置好代理详细信息后运行该脚本:

export PROXY_URL="http://user:pass@host:port"
export SOCKS_URL="socks5h://user:pass@host:port"   # optional
python dc_proxy_check.py --requests 10

示例输出,其中地址和网络名称来自文档范围内的占位符:

== HTTP proxy ==
Requests ok      : 10/10 (100%)
Unique exit IPs  : 1 -> static (dedicated or sticky)
Distinct /24s    : 1
Latency ms       : median 36, max 490
Owner of 203.0.113.10   : EXAMPLE-NET (203.0.113.0 - 203.0.113.255, n/a)

== SOCKS5 proxy ==
Requests ok      : 10/10 (100%)
Unique exit IPs  : 1 -> static (dedicated or sticky)
Distinct /24s    : 1
Latency ms       : median 46, max 328
Owner of 203.0.113.10   : EXAMPLE-NET (203.0.113.0 - 203.0.113.255, n/a)

如何解读每行内容:

  • Requests ok 统计已响应的请求;此处的失败表示代理或网络错误,而非目标阻断。如果每个请求都因 407 状态码失败,则说明凭据被拒绝(请参阅我们的代理状态错误列表)。
  • Unique exit IPs 对于静态、专用或粘性 IP,该数值应为 1;若“专用”套餐在同一端点显示多个出口 IP,则实际上是轮询机制。
  • Distinct /24s 统计子网数量,因此请针对套餐中的每个 IP 地址分别运行一次脚本并进行对比。一个 /24 子网内的十个 IP 地址可能受同一条防火墙规则限制。
  • Latency 该指标显示响应时间的中位数和最差值;对于长时间运行的任务,若两者差距较大则需重点关注。
  • Owner 显示通过 RDAP 查询获得的网络名称和范围;rdap.org 会将每个查询重定向至相应的区域注册机构,后者以 RDAP JSON 响应(RFC 9083)进行回复。若出现意外的托管公司,建议向服务商咨询。

子网计算使用 Python 的 ipaddress 模块,并且 --baseline 并添加了不使用代理的运行结果以供对比。如需了解速度、匿名性和报头检查,请参阅我们的代理测试指南。

数据中心代理会给您的任务带来多少成本?

首先估算流量:成功访问的页面数除以成功率,再乘以平均页面大小。将该结果乘以每 GB 价格,并与 IP 数量乘以每 IP 价格进行比较。在达到盈亏平衡流量之前,按 GB 计费更划算。 超过该阈值后,只要您在每个 IP 的合理使用限额内,按 IP 计费更划算。

下面的计算器仅使用标准库即可完成这些计算。重试次数计入成功率:当成功率为 90% 时,您实际支付的流量费用比成功访问的页面流量多出约 11%。

"""Compare per-IP and per-GB datacenter proxy billing for one scraping job.

Plug in the prices from the plan you are considering. The script prints the
monthly cost, the cost per 1,000 successful pages, and the break-even
bandwidth where per-GB billing stops being cheaper than per-IP billing.
"""
import argparse
import math


def monthly_traffic_gb(pages, avg_page_kb, success_rate):
    """Total GB moved, counting retries for failed requests."""
    attempts = pages / success_rate
    return attempts * avg_page_kb / 1_000_000  # 1 GB = 1,000,000 KB


def per_ip_cost(ips, price_per_ip, traffic_gb, fair_use_gb_per_ip=None):
    """Cost of an IP plan; warns when traffic exceeds a fair-use allowance."""
    cost = ips * price_per_ip
    over = None
    if fair_use_gb_per_ip:
        allowance = ips * fair_use_gb_per_ip
        if traffic_gb > allowance:
            over = traffic_gb - allowance
    return cost, over


def main():
    p = argparse.ArgumentParser(description=__doc__)
    p.add_argument("--pages", type=int, default=500_000, help="successful pages per month")
    p.add_argument("--page-kb", type=float, default=250, help="average transfer per request in KB")
    p.add_argument("--success-rate", type=float, default=0.9, help="share of requests that succeed (0-1)")
    p.add_argument("--ips", type=int, default=100, help="IPs in the per-IP plan")
    p.add_argument("--price-per-ip", type=float, default=1.00, help="USD per IP per month")
    p.add_argument("--fair-use-gb", type=float, default=None, help="fair-use GB per IP per month, if the plan has one")
    p.add_argument("--price-per-gb", type=float, default=0.60, help="USD per GB on the per-GB plan")
    a = p.parse_args()

    if not 0 < a.success_rate <= 1:
        p.error("--success-rate must be between 0 and 1")

    gb = monthly_traffic_gb(a.pages, a.page_kb, a.success_rate)
    ip_cost, over = per_ip_cost(a.ips, a.price_per_ip, gb, a.fair_use_gb)
    gb_cost = gb * a.price_per_gb
    break_even_gb = ip_cost / a.price_per_gb

    print(f"Traffic incl. retries: {gb:,.1f} GB for {a.pages:,} successful pages")
    print(f"Per-IP plan : ${ip_cost:,.2f}/month  (${ip_cost / a.pages * 1000:,.3f} per 1,000 pages)")
    print(f"Per-GB plan : ${gb_cost:,.2f}/month  (${gb_cost / a.pages * 1000:,.3f} per 1,000 pages)")
    print(f"Break-even  : per-GB is cheaper below {break_even_gb:,.1f} GB/month")
    if over:
        print(f"Warning     : {over:,.1f} GB over the fair-use allowance; expect throttling or extra charges")
    cheaper = "per-IP" if ip_cost < gb_cost else "per-GB"
    if over and cheaper == "per-IP":
        cheaper += " on paper, but only if you add IPs or the provider allows the overage"
    print(f"Cheaper for this job: {cheaper}")
    # Rough IP count check: requests per IP per day
    per_ip_day = math.ceil(a.pages / a.success_rate / a.ips / 30)
    print(f"Load per IP : about {per_ip_day:,} requests per IP per day")


if __name__ == "__main__":
    main()

第一个示例采用脚本的默认设置,模拟 Bright Data 的 100 个 IP 共享套餐(每个 1.00 美元)和按量计费率(每 GB 0.60 美元),并使用以下示例数据: 每月 500,000 个页面,每个页面 250 KB,成功率为 90%。

$ python dc_cost.py --pages 500000 --page-kb 250 --success-rate 0.9 --ips 100 --price-per-ip 1.00 --price-per-gb 0.60
Traffic incl. retries: 138.9 GB for 500,000 successful pages
Per-IP plan : $100.00/month  ($0.200 per 1,000 pages)
Per-GB plan : $83.33/month  ($0.167 per 1,000 pages)
Break-even  : per-GB is cheaper below 166.7 GB/month
Cheaper for this job: per-GB
Load per IP : about 186 requests per IP per day

每月数据量为 138.9 GB,低于 166.7 GB 的盈亏平衡点,因此尽管 100 个 IP 地址(每个 1 美元)听起来很便宜,但按 GB 计费的方案更划算。

第二个示例将数据量增加至四倍,页面大小为 400 KB,100 个专用 IP 的价格为每个 1.70 美元,每个 IP 享有 100 GB 的合理使用配额:

$ python dc_cost.py --pages 2000000 --page-kb 400 --ips 100 --price-per-ip 1.70 --fair-use-gb 100 --price-per-gb 0.60
Traffic incl. retries: 888.9 GB for 2,000,000 successful pages
Per-IP plan : $170.00/month  ($0.085 per 1,000 pages)
Per-GB plan : $533.33/month  ($0.267 per 1,000 pages)
Break-even  : per-GB is cheaper below 283.3 GB/month
Cheaper for this job: per-IP
Load per IP : about 741 requests per IP per day

在此情况下,按IP计费的成本约为按GB计费的三分之一,且流量远低于10,000 GB的总配额。若重新运行该脚本并 --ips 5 ,脚本会警告流量超出公平使用限额388.9 GB:这种微小的按IP计费套餐仅在理论上便宜。如果“每个IP的负载”这一行显示针对某个网站的每日请求量攀升至数千次,则需增加IP数量或降低访问速度。

何时不应使用数据中心代理?

当目标网站直接封锁托管网络、需要伪装成家庭或移动用户,或者该网站向不同消费级 ISP 提供不同内容时,请避免使用数据中心代理。新启用的专用 IP 反复收到 403 或 429 响应即为警示信号。 此时,使用住宅IP、ISP IP或托管式爬虫API的成本,都比频繁更换IP更低。

每种情况都有相应的替代方案:

在切换之前,请先排查您自己的爬虫程序。新IP被反复封禁通常意味着网站封禁的是您的IP范围,而非您的代码;但过高的请求频率和默认请求头也会导致干净的IP被封禁。

如何在共享型和专用型数据中心代理之间做出选择?

对于规模较小、防护较弱或仅需执行一次的任务(被封禁的代价较低),请选择共享IP。若希望降低成本且减少邻居数量,请选择半专用代理。登录、长时间会话或目标网站会记录IP历史时,请选择专用代理。若需要覆盖多个国家或处理突发流量,按GB计费的轮换IP池通常更划算。

购买前需考虑的五个问题:

  1. 目标网站的防护强度如何?公开目录和公共数据集使用共享IP即可;若目标网站具备强大的反机器人防护机制,则至少需要专用IP,或采用其他类型的代理。
  2. 您的会话时长是多少?登录、购物车和多步骤流程需要同一IP地址维持数分钟至数小时,这意味着需要专用IP或粘性IP。
  3. 您每月的流量有多大?请使用实际页面大小运行计算器:大流量且稳定的情况更适合按IP计费,而小流量或突发流量则更适合按GB计费。
  4. 您需要哪些国家/地区?特定国家/地区的列表通常比共享或按GB计费的列表更短,因此请检查您计划购买的套餐。
  5. 您需要 SOCKS5 吗?大多数爬虫工具支持 HTTP 代理,但如果您的工具需要 SOCKS5,请排除那些在您所选套餐中未列出该功能的提供商。

您无需为所有场景选择单一配置:许多团队会使用共享 IP 或按 GB 计费的代理池进行批量爬取,同时搭配小型专用套餐来处理稳定的会话。建议从小规模开始,先测试一周的成功率和每 1,000 页的成本,然后再决定是否升级到更大套餐或延长计费周期。

正如我们的高级代理列表对比所示,付费代理列表在稳定运行方面优于免费代理列表;免费代理列表虽适合学习,但很少能承受生产环境的流量。不确定数据中心IP是否适合您的任务?不妨先参考我们根据任务类型和成本整理的“最佳网页抓取代理”指南。

常见问题

共享数据中心代理适合网络爬虫吗?

是的,适用于小型或防护较弱的目标。共享 IP 是最便宜的选择,某些服务商的入门级套餐中单个 IP 价格不到 4 美分,但您将继承其他客户在同一 IP 上触发的任何封禁或速率限制。

什么是半专用代理?

这是由一小群客户共享的数据中心 IP,Rayobyte 和 BuyProxies 将用户上限设为三人。其成本低于专用 IP,且相较于共享 IP,邻居风险更低。

专用代理值得多花这笔钱吗?

当 IP 历史记录至关重要时,它们是值得的:例如登录操作、长时间会话、基于账户的工具,或是会记录滥用 IP 范围的网站。对于在开放网站上进行的一次性批量任务,共享方案或按 GB 计费的方案更为经济。

专用数据中心代理的价格是多少?

根据各供应商的定价页面显示,每IP每月费用约为0.80至3.00美元。 批量购买可降低单价:SquidProxies 购买 500 个 IP 时单价为 0.80 美元,Bright Data 购买 1,000 个 IP 时单价为 1.30 美元。部分供应商对英国 IP 的收费也高于美国 IP。

数据中心代理应按IP还是按GB付费?

如果流量较大且稳定,且通过固定IP集传输,同时符合合理使用原则,建议按IP计费。如果流量较小、呈突发性,或分布在多个国家,建议按GB计费。请估算每月总流量(含重试次数),并比较两种计费方式的总费用。

在无限带宽代理套餐中,“合理使用”指什么?

这意味着“无限”带宽仍有上限。部分服务商会明确说明,例如 Bright Data 常见问题解答中提到的“每个 IP 每月 100 GB”;其他服务商则仅表示适用“合理使用”原则。一旦超出该上限,可能会面临限速、额外收费或被要求购买更多 IP。

数据中心代理是否支持 SOCKS5?

许多都支持:Oxylabs、Decodo、IPRoyal、Webshare、Rayobyte 和 BuyProxies 都在其数据中心套餐中列出了 SOCKS5。SOCKS5 可隧道传输任何 TCP 流量,这有助于非 HTTP 工具的使用,尽管支持 CONNECT 的 HTTP 代理也能很好地处理 HTTPS 网站。

如何判断我的代理是否真的是专用代理?

通过该代理向IP回显服务发送十次或更多请求;专用代理每次返回的出口IP都应相同。然后检查您的IP覆盖了多少个/24子网,以及该网络的所有者是谁。本指南中的脚本可自动完成这三项检查。

为什么数据中心代理会被封禁?

数据中心 IP 地址是公开注册给主机托管和云网络的,因此严格的机器人防护机制可能会封锁整个 IP 范围,而且共享 IP 地址会携带其他客户的访问记录。请求模式也会导致被封,所以在指责代理之前,请放慢请求速度并发送符合实际的请求头。

何时应使用住宅代理而非数据中心代理?

当目标网站屏蔽主机网络、向普通用户展示不同内容,或持续对新分配的专用 IP 进行身份验证时,请使用住宅代理。住宅流量成本更高且通常按 GB 计费,因此仅将难以攻克的目标转移至住宅代理或 ISP 代理。

WebScrapingAPI 适合哪些场景?

如果您需要根据流量、国家/地区和并发量定制的共享或专用数据中心 IP,请索取数据中心代理报价,或将数据抓取任务交由 Scraper API 处理——该服务提供 5,000 次免费请求,付费套餐每月 19 美元起。 当目标网站屏蔽数据中心流量时,请切换至每 GB 8.50 美元起的住宅代理,或使用 ISP 代理以维持长期稳定的会话。

关于作者

Anda Miuțescu, 技术内容撰稿人 @ WebScrapingAPI

Anda Miuțescu

技术内容撰稿人

安达·米乌特斯库是 WebScrapingAPI 的技术内容撰稿人,负责创作清晰、实用的内容,帮助开发者了解该产品及其功能。

Nodriver Python 教程:隐身浏览器爬取——从第一个脚本到投入生产
网络爬虫技术

Nodriver Python 教程:隐身浏览器爬取——从第一个脚本到投入生产

TL;DR: 简而言之:Nodriver 是一个异步 Python 库,通过 Chrome DevTools Protocol 驱动 Chromium,无需 Selenium 或 chromedriver 二进制文件。当一个更接近真实 Chrome 会话的自托管隐身浏览器比 WebDriver 技术栈更合适时,请使用它;但要知道,它本身并不能消除 IP、TLS 或行为层面的风险。本教程从第一个脚本讲到容器化生产部署以及托管的 Browser API。

Suciu Dan5 min read
阅读文章
如何在搜索结果页面(SERP)抓取工具中处理 Google /goto 重定向 URL 和 CAES 令牌
网络爬虫技术

如何在搜索结果页面(SERP)抓取工具中处理 Google /goto 重定向 URL 和 CAES 令牌

TL;DR: Google 搜索会在搜索结果页面(SERP)中的结果与目标页面之间插入一个不透明的重定向。href 属性中可能不会直接显示 URL,而是显示包含 CAES 令牌的 google.com/goto——或者较旧的 /url 包装形式。了解如何在生产环境的 SERP 抓取工具中,无需解密 CAES 即可对这些重定向进行分类、去重和解析。

Suciu Dan4 min read
阅读文章
cURL 中的 HTTP 响应头:每个标记、技巧和脚本配方
网络爬虫技术

cURL 中的 HTTP 响应头:每个标记、技巧和脚本配方

TL;DR: 简要说明:cURL 默认隐藏响应头信息。使用 -i 可以看到响应头和正文,使用 -I 可以看到 HEAD 请求只返回响应头,使用 -v 可以看到完整的请求/响应调试,使用 -D 可以将响应头保存到文件中。对于现代脚本,cURL 7.83+ 允许提取单个头信息,或使用 -w write-out 选项将所有头信息转存为 JSON 格式。

Suciu Dan3 min read
阅读文章

开始构建

准备好扩展您的数据收集规模了吗?

加入2,000多家企业,使用WebScrapingAPI在无需任何基础设施开销的情况下,以企业级规模提取网络数据。