代理流量怎么算钱:40 个 Amazon 商品页实测
我们在 2026 年 10 月 24 日量了 40 次 Amazon 商品页请求的传输字节,按 IPFoxy 动态住宅代理的每 GB 标价算出每千页的流量费,再和数据接口每千次的价格对比,写清哪种抓法在什么成功率下更省。

动态住宅代理按 GB 收费,所以一页要下载多少字节,直接决定这页的代理成本。我们在 2026 年 10 月 24 日 18:30–18:41(新加坡时间)量了 40 次 Amazon 美国站商品页请求和 6 次整页浏览器加载:只取 HTML,一页的中位数是 0.44 MB;用无头浏览器整页加载,中位数是 7.96 MB,相差 18 倍。按 IPFoxy 动态住宅代理的官网标价算,每千页的流量费从 $0.88 到 $47.71 不等;同一页用数据接口取,每千次 $1.39。
这篇只做一件事:把「代理流量费」和「数据接口费」放在同一把尺子上量。哪种更省,取决于你怎么抓、买哪一档、成功率多高。下面每个数字都写了来源,原始数据可以下载复核。
为什么要先量字节
IPFoxy 的动态住宅代理按流量卖:官网 10 月 24 日列出 1GB、10GB、50GB、100GB、500GB、1000GB 六档,每 GB 标价从 $5.99 降到 $1.99,有效期 30 到 180 天;超过 1000GB 可定制,标「低至 $0.6/GB」(IPFoxy 动态住宅代理定价)。它的 IP 池覆盖 200 多个国家和地区(IPFoxy 节点地区列表)。按流量计费的产品,成本 = 下载的字节 × 单价。单价写在官网上,字节数要自己量。
「一页有多重」没有统一答案。HTTP Archive 的 Web Almanac 2025 把页面重量定义为显示一个页面要下载的全部字节,并指出图片占的字节最多(Web Almanac 2025 · Page Weight)。但抓数据的程序不一定要下载图片:只取 HTML,和让浏览器把整页跑完,下载量差一个数量级。所以我们按三种常见抓法分别量。
动手前写下的判据
量之前,我们先写下三条判据:
- 比较的单位是「拿到一个商品页的数据」。通过标准:每种方法至少拿到 3 个真实商品页(标题是商品名,不是拦截页)。
- 字节按线上传输量算,不按解压后的大小算,因为代理按传输量计费。HTML 用 curl 的
size_download加size_header(curl 手册 --write-out,Everything curl:write-out 变量);浏览器用 Chrome DevTools Protocol 的Network.loadingFinished.encodedDataLength逐个请求累加(CDP Network 域)。 - 换算用 1 GB = 10⁹ 字节(NIST 二进制倍数前缀说明)。如果服务商按 2³⁰ 字节算 1 GB,下面每个费用再低约 7%。
结果:第 1 条三种方法都通过(HTML 16 页,浏览器两种各 3 页);第 2、3 条按此执行。
实测一:三种抓法各下载多少
测试环境是新加坡的家庭宽带,不经代理。商品来自同一次搜索:我们用 Amazon 关键词搜索接口 搜 air fryer,取前 20 个 ASIN(18:30,31.6 秒,扣费 $0.001389)。
只取 HTML。 用 curl 带普通浏览器请求头和 Accept-Encoding: gzip, deflate, br(MDN:Accept-Encoding)请求 /dp/<ASIN>,每次间隔 4 秒,跑两轮各 20 次。Amazon 返回的是 gzip(RFC 1952),不是 Brotli(RFC 7932)。16 个真实商品页的传输量中位数是 441,688 字节,最小 213,178,最大 496,482;解压后是 1.08–2.68 MB。
无头浏览器,整页加载。 用 Chrome 的新无头模式(Chrome Headless 文档)打开 3 个商品页,关缓存,每页等 15 秒。三页分别是 13.60、4.15、7.96 MB,请求数 224–270 个。第一页里图片占 7.03 MB(52%),脚本占 3.02 MB。DevTools 里「传输大小」和「资源大小」是两回事,这里取的是前者(Chrome DevTools 网络面板参考)。
无头浏览器,屏蔽图片和字体。 很多抓取脚本会拦掉图片,Playwright 和 Puppeteer 的文档都给了写法(Playwright:Network,Puppeteer:请求拦截)。我们用 CDP 的 Network.setBlockedURLs 拦掉图片和字体后,三页是 4.03、3.44、3.43 MB。剩下的大头是脚本,约 3.0 MB,占 87%。
| 抓法 | 样本 | 每页传输量中位数 | 范围 |
|---|---|---|---|
| 只取 HTML(curl,gzip) | 16 页 | 0.442 MB | 0.213–0.496 MB |
| 无头 Chrome,屏蔽图片和字体 | 3 页 | 3.44 MB | 3.43–4.03 MB |
| 无头 Chrome,整页加载 | 3 页 | 7.96 MB | 4.15–13.60 MB |
| EveryInfra 商品详情 JSON(不走代理) | 1 次 | 0.004 MB | — |
浏览器的两组只有 3 页,两页的主文档在 CDP 里记成 0 字节,所以这两行是下限,不是精确值。
实测二:不走代理,看到的是哪个市场
同一批请求还说明了一件事:出口 IP 在哪,页面就按哪里显示。
- 第一轮不带 Cookie:20 个商品页里 19 个返回 200,但内容是 3,781 字节的「Click the button below to continue shopping」中间页,只有 1 个是真实商品页。3 个搜索页(
/s?k=)都返回 503。 - 第二轮先访问首页拿 Cookie:前 5 个仍是中间页,后 15 个是真实商品页。两轮合计 40 次请求,16 次拿到真实页面,占 40%。
- 16 个真实页面的配送地址都显示 Singapore,其中 2 页写着这件商品不能配送到当前地址。
- 浏览器打开
amazon.com/s?k=air+fryer,最后停在标题为「Amazon.sg : air fryer」的新加坡站。
所以要看美国买家看到的价格、配送和搜索结果,请求就要从美国的 IP 发出。这正是住宅代理的用途:IPFoxy 的解决方案页把电商、数据采集、广告验证列为主要场景(IPFoxy 解决方案),它自己的博客也写过电商数据采集的几种做法(IPFoxy:电商数据采集指南)。被拦下的中间页本身很小(含响应头 4,206 字节),费的不是流量,是请求次数和时间。
算一笔账:每 1000 个商品页
把实测一的中位数乘以 1000,再乘 IPFoxy 各档的每 GB 标价。这里假设每一页都一次成功,没算重试、没算建立代理隧道的握手、也没算上传字节:
| 抓法 | 1GB 档 $5.99/GB | 10GB 档 $4.99/GB | 100GB 档 $2.99/GB | 1000GB 档 $1.99/GB |
|---|---|---|---|---|
| 只取 HTML | $2.65 | $2.20 | $1.32 | $0.88 |
| 浏览器,屏蔽图片和字体 | $20.59 | $17.15 | $10.28 | $6.84 |
| 浏览器,整页加载 | $47.71 | $39.74 | $23.81 | $15.85 |
同一个商品页,用 Amazon 商品详情接口 取,每次 $0.001389,即每千次 $1.39(18:29 读自数据能力目录);调用失败或返回为空不扣费。我们 18:37 调了一次 B0CYJDVT31,9.1 秒返回 20 个字段,JSON 正文 3,569 字节。如果只要列表级字段(价格、评分、评分人数、品牌),一次搜索返回 20 个商品,每千个商品约 $0.07。
成功率的门槛
上表假设 100% 成功。真实抓取会失败,失败就要重试。设成功率为 s,每个成功页面的流量费约等于「流量费 ÷ s」(失败页只有约 4 KB,可以忽略)。只取 HTML 时,要比数据接口省钱,成功率至少要到:
- 1GB、10GB、50GB 档:分别要 190%、159%、127%,也就是怎么都不会更省;
- 100GB 档:95%;
- 500GB 档:76%;
- 1000GB 档:63%。
我们这次不经代理,在新加坡宽带上两轮合计只有 40% 拿到真实页面。经过美国住宅 IP 的成功率会不同,我们没有 IPFoxy 账号,没有量,所以不给这个数。读者可以拿自己的成功率套进上面的公式。
这笔账没有算人力。自己抓要写解析、跟着页面改版改代码、处理中间页和重试;数据接口返回固定字段名,这部分不用做。反过来,数据接口只覆盖它目录里的平台和字段,目录外的页面还得自己抓。
分工:哪些交给 IPFoxy,哪些交给数据接口
按上面的数,我们的建议是:
- 交给 IPFoxy:必须以某个国家的用户身份打开的页面,例如看美国买家的配送和到手价、登录自己的卖家后台、检查本地广告位;数据接口目录里没有的网站;需要浏览器真实渲染的页面。静态住宅 IP 适合长期绑定一个店铺或账号,官网标价 $7.99/月起(IPFoxy 静态住宅代理定价)。
- 交给数据接口:目录里已有的平台和字段,尤其是量大、字段固定、要进表格或数据库的任务。调用数据接口本身不需要代理,走代理只会多花代理流量。
两件事放在同一个脚本里的写法,见我们文档的「配合 IPFoxy 代理使用」一节。那段 Python 示例用 requests 2.34.2(PyPI:requests),自己的请求经代理出口,调 EveryInfra 的请求用 trust_env = False 直连(Requests 高级用法:代理,Requests API:Session.trust_env)。代理地址的格式是 用户名:密码@主机:端口,IPFoxy 帮助中心有 Python 的配置说明(IPFoxy:Python 使用动态代理);它的示例用的是标准库 urllib.request,那个库默认也会读环境变量里的代理(Python urllib.request 文档)。Scrapy 用户可以在请求的 meta 里设 proxy(Scrapy:HttpProxyMiddleware)。
我们没有 IPFoxy 账号,所以示例里的代理部分是用本地模拟代理验证的:它按 HTTP 的 CONNECT 方法建隧道(RFC 9110 第 9.3.6 节,MDN:CONNECT),按 Proxy-Authorization 头里的 Basic 凭据核对用户名和密码(RFC 7617,MDN:Proxy-Authorization)。密码对时,示例经模拟代理访问 ipinfo.io 并正常拿到 EveryInfra 的商品数据;密码错时,模拟代理返回 407(MDN:407),示例在调用 EveryInfra 之前就停下,没有扣费。即使把 HTTPS_PROXY 也设成模拟代理,模拟代理的日志里也只有 ipinfo.io 一条,EveryInfra 的请求没有经过它。
这份数据怎么引用
- 原始数据:amazon-page-weight-2026-10-24.csv(GitHub,EveryInfra 示例仓:amazon-page-weight-2026-10-24.csv;本站副本
https://everyinfra.com/articles/proxy-traffic-cost-amazon-product-pages/amazon-page-weight-2026-10-24.csv),51 行,每行一次请求或一次整页加载,字段有页面类型、ASIN、方法、时间、HTTP 状态、是否真实页面、传输字节、请求数和说明。 - 读取时间:2026-10-24 18:30–18:41(新加坡时间,UTC+8);IPFoxy 价格读取于同日。
- 复核方法:HTML 用 curl 8.7.1 的
--write-out '%{size_download} %{size_header}';浏览器用 Chrome 155 无头模式加 CDP,脚本在 Node.js 26 里用内置的WebSocket连接(Node.js 全局对象)。脚本和本文图表的生成脚本放在我们的 GitHub 示例目录,见 /docs#with-proxy 里的链接。 - 建议引用写法:EveryInfra,《代理流量怎么算钱:40 个 Amazon 商品页实测》,2026-10-24,https://everyinfra.com/blog/proxy-traffic-cost-amazon-product-pages (数据读取于 2026-10-24 18:30–18:41 SGT)。
结论在什么情况下不成立
- 样本小:真实 HTML 16 页,浏览器两种各 3 页,都是空气炸锅这一个类目。页面越长(评论多、变体多),字节越大。HTTP Archive 的月度报告显示页面重量逐年变化(HTTP Archive:Page Weight 报告),一年后要重量。
- 没经过代理:经代理时,HTTP 头、隧道握手、重定向都会多一点字节;成功率也会不同。
- 价格是标价:IPFoxy 官网写了注册折扣(10GB 档起 17%–23%),我们没有再叠加;以 IPFoxy 官网当天价格为准。
- 合规不在本文范围:我们只量字节。Amazon 的 robots.txt 对通用爬虫没有屏蔽
/dp/商品页,但对 Scrapy、GPTBot 等多个爬虫名整站屏蔽(Amazon robots.txt);它的使用条件(2026-08-14 更新)在「License and Access」一节限制了数据挖掘和机器人工具(Amazon Conditions of Use)。自己抓取之前,先读目标网站的条款。
本次花费:EveryInfra 3 次调用,合计 $0.004167(搜索 1 次、商品详情 2 次);另有 3 次因同一个 Key 的频率限制返回 429,没有扣费。IPFoxy 是我们的合作伙伴。本文指向 IPFoxy 的链接都不带推广参数,所以没有按推广链接标注(Google 对推广和付费链接的标注要求见限定出站链接)。我们的合作伙伴介绍页见 IPFoxy 全球代理,本文数字以读取当天两家官网为准。
延伸阅读
参考资料
- IPFoxy,《动态住宅代理》定价页,读取于 2026-10-24,https://www.ipfoxy.net/pricing/rotating/
- IPFoxy,《静态住宅代理》定价页,读取于 2026-10-24,https://www.ipfoxy.net/pricing/residential/
- IPFoxy 帮助中心,《How to use Rotating proxy through Python?》,2025-11-18,https://www.ipfoxy.com/help/docs/bn3BDn
- IPFoxy,《解决方案》,读取于 2026-10-24,https://www.ipfoxy.net/solution/
- IPFoxy,节点地区列表,读取于 2026-10-24,https://www.ipfoxy.net/country/
- IPFoxy 博客,电商数据采集指南,读取于 2026-10-24,https://www.ipfoxy.net/blog/use-cases/6929
- Chrome DevTools Protocol,Network 域(
loadingFinished、setBlockedURLs),读取于 2026-10-24,https://chromedevtools.github.io/devtools-protocol/tot/Network/ - Chrome for Developers,《Chrome Headless mode》,读取于 2026-10-24,https://developer.chrome.com/docs/chromium/headless
- Chrome for Developers,《Network features reference》,读取于 2026-10-24,https://developer.chrome.com/docs/devtools/network/reference
- curl 项目,curl 手册(
--write-out),读取于 2026-10-24,https://curl.se/docs/manpage.html - Everything curl,《Write out》,读取于 2026-10-24,https://everything.curl.dev/usingcurl/verbose/writeout.html
- Requests 文档,《Advanced Usage》(Proxies 一节),读取于 2026-10-24,https://requests.readthedocs.io/en/latest/user/advanced/
- Requests 文档,《Developer Interface》(
Session.trust_env),读取于 2026-10-24,https://requests.readthedocs.io/en/latest/api/ - PyPI,requests 2.34.2,2026-05-14 发布,https://pypi.org/project/requests/
- Python 文档,《urllib.request》,读取于 2026-10-24,https://docs.python.org/3/library/urllib.request.html
- IETF,RFC 9110《HTTP Semantics》,2022-06,https://www.rfc-editor.org/rfc/rfc9110
- IETF,RFC 7617《The 'Basic' HTTP Authentication Scheme》,2015-09,https://www.rfc-editor.org/rfc/rfc7617
- IETF,RFC 1952《GZIP file format specification version 4.3》,1996-05,https://www.rfc-editor.org/rfc/rfc1952
- IETF,RFC 7932《Brotli Compressed Data Format》,2016-07,https://www.rfc-editor.org/rfc/rfc7932
- MDN,《CONNECT request method》,读取于 2026-10-24,https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods/CONNECT
- MDN,《Proxy-Authorization header》,读取于 2026-10-24,https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Proxy-Authorization
- MDN,《407 Proxy Authentication Required》,读取于 2026-10-24,https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/407
- MDN,《Accept-Encoding header》,读取于 2026-10-24,https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Encoding
- HTTP Archive,《Web Almanac 2025:Page Weight》,2026-01-15,https://almanac.httparchive.org/en/2025/page-weight
- HTTP Archive,《Page Weight》月度报告,读取于 2026-10-24,https://httparchive.org/reports/page-weight
- Playwright 文档,《Network》,读取于 2026-10-24,https://playwright.dev/docs/network
- Puppeteer 文档,《Request Interception》,读取于 2026-10-24,https://pptr.dev/guides/network-interception
- Scrapy 文档,《Downloader Middleware》(HttpProxyMiddleware),读取于 2026-10-24,https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
- NIST,《Prefixes for binary multiples》,读取于 2026-10-24,https://physics.nist.gov/cuu/Units/binary.html
- Amazon,robots.txt,读取于 2026-10-24,https://www.amazon.com/robots.txt
- Amazon,《Conditions of Use》,2026-08-14 更新,https://www.amazon.com/gp/help/customer/display.html?nodeId=508088
- IPinfo,《Developers》文档,读取于 2026-10-24,https://ipinfo.io/developers
- Node.js 文档,《Global objects》(
WebSocket),读取于 2026-10-24,https://nodejs.org/api/globals.html - EveryInfra,数据能力目录
GET /api/v1/social/catalog,读取于 2026-10-24 18:29,https://api.everyinfra.com/api/v1/social/catalog - Google 搜索中心,《Qualify your outbound links to Google》,读取于 2026-10-24,https://developers.google.com/search/docs/crawling-indexing/qualify-outbound-links
- EveryInfra,示例仓 everyinfra-agent-plugins 中的原始数据 amazon-page-weight-2026-10-24.csv,2026-10-24,https://github.com/everyinfra/everyinfra-agent-plugins/blob/main/examples/proxy-plus-data-api/data/amazon-page-weight-2026-10-24.csv
引用编号 BL-36