我们使用联盟链接。它们让我们能够维持运营,而您无需承担任何费用。

深入研究流行的 Web 数据抓取 API

网络抓取正在成为 更多 广泛 而且还 日益 挑战。为了满足对可靠基础设施的需求,代理提供商和其他数据收集公司已开始发布可以抓取任何网站的 API。这并不是什么新鲜事,但过去几年中,此类 API 的数量激增。

为了给您提供一些背景信息,以下是主要代理提供商的可用性:

2019年: Oxylabs, Bright Data, 采特

2022年: Oxylabs, Bright Data,Zyte, Smartproxy, Rayobyte, Infatica, Shifter、GeoSurf、 SOAX

本报告深入研究了七家网页抓取 API 供应商。它比较了它们的功能、抓取性能、解析能力和成本效益。我们特别关注三大网站群体:搜索引擎、电子商务商店和社交媒体平台。

关键精华

  • Web 抓取 API 通常会返回原始 HTML,但是 七分之六的参与者拥有针对特定网站的解析器。 谷歌是最受欢迎的目标,其次是亚马逊。 Oxylabs 提供用于解析大多数电子商务商店的机器学习模型。  
  • 这些 API 通常通过开放连接传输数据。大多数可以采用代理的形式,以便于集成,并且三家提供商可以将结果发送到webhook或云存储。 
  • 它们相对可定制,让您选择位置、设备并传递自定义标头。四个 API 接受 CSS 选择器和 三支持浏览器交互 用于动态抓取场景。
  • 在性能测试中, 很少有 API 能给谷歌和亚马逊带来挑战,但有些比其他的快几倍。 社交媒体(特别是 GraphQL)对很多人来说很难。 总体, Oxylabs, Smartproxy和 Bright Data 被证明是最可靠的。 
  • 这三款产品还拥有强大的解析器。ScraperAPI 和 Rayobyte 专注于返回关键数据点,并且 Shifter 无法本地化结果。
  • 从价格上看,API 可以对所有功能收取相同的费用(Bright Data),根据目标群体制定不同的价格(Oxylabs, Smartproxy)或提高高级功能的请求价格(ScraperAPI、Zyte)在后一种情况下,根据网站不同,汇率可能相差 75 倍。

Web 数据抓取 API 入门

如果您不熟悉网页抓取 API,可以将它们视为远程网页抓取工具。您可以通过发送包含目标 URL 和可选参数(如地理位置)的 API 请求来与它们进行交互。 

在后端,API 选择适当的代理、应用标头并根据需要启动无头浏览器实例以打开目标并提取其 HTML。完成工作后,API 会通过开放连接或使用 webhook 将数据返回给您。 

更高级(或者说更专业)的 API 能够解析页面以提取 JSON 或其他格式的结构化数据点。它们有时使用参数化语法,您只需输入搜索查询或亚马逊的产品代码 (ASIN),而不是完整的 URL。更高级的系统涉及 AI 视觉和模式识别模型等复杂技术。

无论如何,这些 API 旨在准确无误地提供数据,并且几乎总是根据成功的请求来定价。这使得费用跟踪高度可预测且简单明了。但正如我们所看到的,一些提供商设法设计出具有欺骗性的不透明定价模型。 

参与者成员

我们联系了多家提供网页抓取 API 的公司,询问他们是否愿意参与。经过反复沟通,我们最终确定了七家公司。名单上既有该领域的知名公司,也有几家正在进入这一类别的知名代理提供商。 

我们提前通知参与者,我们将抓取 Google、亚马逊和社交媒体网络的数据,他们自愿向我们提供相关 API 的访问权限。

经过测试的 API Web 抓取工具 API、SERP 抓取工具 API、电子商务抓取工具 API Web 解锁器,SERP API Web 抓取 API、SERP 抓取 API、电子商务抓取 API Zyte API 刮Robot机器人 爬虫API Web 抓取 API、SERP API
起始价 $99 3 美元(即用即付),500 美元(计划) $50 0 美元(即用即付),25 美元(计划) $0.0018/需求 $49 $44.95

功能概述

本部分介绍集成方法、可用的 API 参数以及抓取和解析特定网站组的能力。

集成方法

理论上,所有 Web 抓取 API 都使用相同的基本结构:有一个端点,您可以在其中传递要抓取的 URL 和一个或多个参数。实际上,实现方式可能有很大差异。以下是我们遇到的四种主要方法:

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
API(开放连接)
API(异步)
代理
库/SDK

开放连接意味着您将请求发送到 API 端点并等待响应。这是最流行的方法,大多数提供商都会根据此方法定制文档。它有两种变体:ScraperAPI 和 Shifter 一些人更喜欢 GET 方法,而另一些人则选择 POST 请求。两者的区别主要在于风格,GET 会将参数附加到 URL,而 POST 会将其作为 JSON 负载发送。

异步交付允许您发送带有 ID 的 API 调用,然后随时通过 webhook 或其他方式获取结果。它对于批量抓取非常有用,并且它为 API 提供了更多时间来提取硬页面,因为它不再受超时限制。

发送异步请求
使用 webhook URL(ScraperAPI)发送异步请求。

大多数 API 也可以作为代理进行集成。这种方法使从常规代理服务器转换变得更容易,因为您只需插入 API 即可。 Bright Data 是唯一一家偏爱代理方法的参与者,因为它主要将其工具视为代理。API 端点仅用于发出批量请求。

代理集成 bright data
作为代理服务器访问 API (Bright Data).

我们认为 SDK 不是必需品。但作为选项,拥有它们还是不错的。

HTML 抓取

通用 API 有一个端点,它会尝试抓取您发送给它的任何网站。但需要注意的是,它们不会解析数据,而是返回原始 HTML 格式的页面。所有参与者都提供了一个通用抓取 API:

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
相关工具 网络爬虫 API 网页解锁器 网页抓取 API Zyte API 刮Robot机器人 爬虫API 网页抓取 API

这些 API 只需要很少的参数即可运行,通常只需要一个令牌和 URL。虽然这很方便,但很少能满足所有情况,因此提供商允许通过传递其他参数来自定义请求的各个方面。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 刮板API Shifter
地理定位 所有国家 所有国家 所有国家 国家19 ~130 个国家 国家34 国家10
住宅代理 付费选项 付费选项
设备类型
会议
Cookies
数据输入

最常见的参数之一是地理位置,它由代理决定。很明显哪些提供商维护自己的代理池。不支持代理池的提供商支持较少的国家/地区,并且启用住宅代理作为付费参数。(Shifter 是一个例外,但也许只是吝啬。)Zyte 的系统会自动尝试将位置与提供的 URL 进行匹配,因此这 19 个国家/地区选项是手动覆盖的。

其他参数的基线类似:大多数 API 允许指定设备类型、创建会话和传递 cookie。一个有趣的参数是我们所说的数据输入 - 它允许发送 API 转发到网站的 POST 或 PUT 请求。这主要用于填写表格。

无头抓取

除了克服网站保护系统之外,无头抓取是促使开发人员转向网络抓取 API 的另一个主要痛点。考虑到这一点,我们概述的产品中大概有三分之二使用了以下口号 我们为您管理无头浏览器.

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
JavaScript 渲染
截图
浏览器操作

毫不奇怪,JavaScript 渲染是普遍可用的。基本实现归结为传递一个附加参数,通常称为 render,您可以添加另一个参数来截取屏幕截图。 Bright Data 自动处理 JavaScript,无需人工干预。 

javascript 渲染参数 shifter
切换 JavaScript 渲染很简单(Shifter).

有些提供商更进一步,让你真正与浏览器进行交互。例如, Shifter 有执行点击和滚动操作的说明,同时 Rayobyte 为页面加载事件提供了三个参数。  

Zyte 在这方面走得最远:它构建了一整套 TypeScript API,可以执行所有操作,包括将鼠标悬停在元素上并输入单个符号。该功能可供企业客户使用,您可以通过 Zyte 的浏览器内置 Visual Studio Code 编写或访问预先编写的脚本。  

专用 API

大多数参与者还为特定网站群体提供专用 API。与通用抓取工具相比,它们具有多种优势。 

首先,您可以确保提供商能够抓取该网站的数据。通用 API 有针对热门目标的自定义抓取工具;但由于它们被抽象到一个端点后面,因此通常需要猜测(或反复试验)。 

其次,专用 API 为数据抓取带来了更结构化的方法。例如,您无需手动构建 URL,而是可以使用查询、位置和分页作为参数来访问 Google 搜索端点。

serp api 参数
通过参数自定义 Google 搜索查询 (Oxylabs).

最后,也许是最重要的一点,专用 API 具有用于返回结构化数据的数据解析器。我们将在后面介绍解析方法。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
搜索引擎 API 谷歌、百度、必应、Yandex 谷歌、必应、DuckDuckGo、Yandex 谷歌、百度、必应、Yandex Google 谷歌、必应、Yandex
电子商务 API 亚马逊、沃尔玛、eBay、Wayfair 以及其他 7 家 亚马逊、Idealo、Wayfair Amazon
社交媒体 API

搜索引擎通常是自定义抓取工具最受欢迎的候选对象,它们甚至构成了一个名为 SERP API 的单独类别。电子商务 API 则比较少见。请注意,缺乏专用的社交媒体抓取工具。面对法律压力,一些提供商拒绝 提到 某些平台,更不用说强调它们了。

当然,Google 和 Amazon 受到的关注最多。虽然其他目标都乐于获得一个 API,但这两个目标最多可以拥有十个!它们的自定义参数不仅仅是为了方便。就 Google 而言,它们还支持更精确的定位选项,这对于本地 SEO 至关重要。

Oxylabs Bright Data Smartproxy Rayobyte Shifter
APIs 搜索、广告、酒店、图片、自动完成、搜索量、趋势 搜索、地图、趋势、评论、酒店、反向图像 搜索、广告、酒店、图片、自动完成、趋势 搜索 搜索、地图、自动完成、学者、产品、反向图像、工作、活动、Google Play、趋势
搜索类型 (tbm)
设备类型
位置选择 市级 市级 市级 国家级 市级
本地化 领域、语言 领域、语言 领域、语言 领域、语言 领域、语言
分页 开始,页数 开始,页数 开始,页数 页数 开始,页数
Oxylabs Smartproxy Rayobyte
APIs 畅销书、定价、产品、质量保证、评论、搜索、卖家 产品、定价、评论、质量保证、搜索、卖家 产品
设备类型
域名
送货地点
分页 开始,页数 开始,页数

数据解析

通常,解析数据的能力来自专用 API。但也有例外。一些提供商公开了用于手动构建解析器的选择器。ScraperAPI 采取了另一种方法 - 它可以通过向通用 API 添加参数来解析特定的 Google 和 Amazon 属性:

scraperapi 解析的参数
ScraperAPI 的解析方法简单但有局限性。

总体而言,每个参与者的数据解析能力如下:

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
手动解析 CSS选择器 CSS、XPath 选择器 CSS选择器
搜索引擎解析器 Google 谷歌、必应、Yandex、DuckDuckGo Google Google Google 谷歌、必应、Yandex
电子商务解析器 亚马逊、沃尔玛、eBay、Wayfair、Target、Etsy、AI 解析 Amazon Amazon Amazon

三位参与者允许使用选择器创建提取规则。我们对此功能表示怀疑,因为如果您停止使用该工具,您仍然必须手动构建解析器,然后将其与代码分离。

如果提供商有一个预先构建的解析器,那么信任 Google 是相当安全的。 Bright Data 和 Shifter 也是从小型搜索引擎提取结构化数据的不错选择。 

较少的参与者可以解析电子商务商店 — — 至少在我们测试的 API 环境中是这样。 Oxylabs 仅支持亚马逊以外的目标。事实上,该提供商已经开发了一种机器学习模型,可以尝试构建任何产品页面。这似乎是一项有价值的功能,因此我们预计会有更多公司效仿。

再次,谷歌和亚马逊成为焦点。对于前者,最基本和最有价值的属性是其搜索引擎结果页面 (SERP)。另一方面,亚马逊解析器尝试至少覆盖搜索和产品页面:

Oxylabs Bright Data Smartproxy Rayobyte 爬虫API Shifter
数据格式
JSON、CSV JSON JSON JSON JSON JSON
可解析元素
SERP
搜索类型 (tbms) 图片、新闻、购物 图片、新闻、购物、视频、地图、酒店 购物 购物 图片、新闻、购物、视频、地图
其他 广告、自动完成、反向图片、每月搜索量、趋势 反向图像、趋势、评论 广告、自动完成、趋势 自动完成、反向图像、学者、播放、趋势
Oxylabs Smartproxy Rayobyte 爬虫API
数据格式
JSON JSON JSON JSON
可解析元素
搜索
产品
评价
其它 畅销商品、ASIN 价格、QA、卖家信息 ASIN 价格、QA 优惠列表

性能基准

我们使用自定义 Python 脚本测试了 API。该脚本使用 Asyncio 和 AIOHTTP 库编写,用于发送超时为 150 秒的异步请求。 

我们以谷歌、亚马逊和一个以照片为中心的社交媒体平台为目标,并围绕它们设计了几种场景。

目标 要求 目的
Google搜索引擎页面 一周每分钟1个,​​共计10,800个 测试 API 的成功率、速度和稳定性
测试抓取 Google 数据的能力
亚马逊产品 URL 1,000 测试抓取亚马逊数据的能力
以照片为中心的社交媒体平台的简介 500 到 graphql 端点 测试抓取受保护社交媒体网站的能力
500 个完全呈现的请求 测试无头抓取的成功率和速度

API 的执行情况如下:

我们的主要目标是 Google。我们抓取了两次:第一次是为了提取原始 HTML 结果,第二次启用了数据解析。

Oxylabs Bright Data  Smartproxy 合特 Rayobyte 爬虫API Shifter
成功率 100% 98.42% 100% 99.47% 100% 94.10% 81.76%
平均响应时间 6.04 4.62 6.09 4.72 6.53 12.58 1.67

大多数 API 表现良好。 Shifter的 Google API 仅返回解析后的数据,因此我们在第一次测试中使用了通用抓取工具。它显然无法处理 Google 数据——每五个请求中就会有一个返回 429 检测错误。专用 API 表现更好,但速度明显下降。

Oxylabs Bright Data  Smartproxy 合特 Rayobyte 爬虫API Shifter
成功率 99.90% 99.71% 99.85% 99.93% 96.88% 96.65%
平均响应时间 6.15 6.03 6.04 10.03 13.24 10.08

使用数据解析器对响应时间影响不大。 Rayobyte 是一个例外——由于某种原因,它以 JSON 格式返回结果的速度慢了三秒多。

我们仅在亚马逊上运行了一次测试,并且尽可能启用了数据解析。 

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
成功率 100% 98.42% 100% 85.50% 95.60% 95.80% 98.80%
平均响应时间 4.69 4.31 4.66 4.51 20.70 9.69 5.35

Bright Data, Oxylabs和 Smartproxy 再次展现出优异的成绩。 Shifter 紧随其后,ScraperAPI 基本上重复了其 Google 的表现,而 Zyte 返回了不少 520 错误。 Rayobyte的响应时间很慢;我们发现后者提供商默认使用亚马逊的数据中心 IP,因此 API 必须多次重试请求。 

我们对以照片为中心的社交媒体平台进行了两次抓取:一次针对其 GraphQL 端点,另一次完全呈现个人资料页面。

Oxylabs Bright Data  Smartproxy 合特 Rayobyte ScraperAPI* Shifter
成功率 100% 73.40% 100% 98.40% 80% 24.80% 54.80%
平均响应时间 17.89 3.71 8.95 2.59 4.52 8.08 1.77

事实证明,GraphQL 端点比谷歌或亚马逊面临的挑战更为严峻。 Shifter 即使在启用渲染后,也遇到了困难。它的抓取工具似乎配置为快速失败,而其他抓取工具则尝试重试请求。ScraperAPI 确实很吃力——我们尝试切换高级代理和无头模式,但没有什么帮助。在这种情况下,Zyte 脱颖而出。 

Oxylabs Bright Data  Smartproxy 合特 Rayobyte ScraperAPI* Shifter
成功率 100% 100% 100% 94.00% 98.60% 98.20% 62.40%
平均响应时间 28.88 4.10 29.09 28.14 23.05 16.05 4.42

无头测试更加宽容。 Bright Data 毫无疑问,它以完美的成功率和惊人的响应时间赢得了胜利。公平地说,它的 API 会自动切换渲染,所以也许没有使用无头浏览器。尽管如此,结果还是令人印象深刻。只有 Shifter 同样快,但其抓取工具每三次请求就会出错一次。对于一个宣称 100% 成功率的工具来说,这不算什么。

其他提供商在启用无头模式时显示出更真实的响应时间。这是 ScraperAPI 在三个目标中的最佳结果,考虑到提供商默认阻止该模式,这有点讽刺。 Oxylabs 和 Smartproxy 保持了成功率,但必须牺牲一些速度。 

并发

即使 API 返回数据的速度快如闪电,提供商也经常会对其施加人为限制。那么,理论上你能以多快的速度发出请求呢?

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
并发 5 请求/秒至无限制 无限量的 未指定 2 个请求/秒 100 请求/分钟 200-400 线程 未指定

视情况而定。例如, Bright Data 对您可以发出的并行请求数量没有明确的限制。再加上其快速的响应时间,该 API 可以很好地扩展。 Smartproxy 和 Oxylabs 其中限制较宽松,且定价计划规模越大限制越宽松。 

另一方面, Rayobyte 默认允许每分钟发出 100 个请求,相当于每秒 1.66 个。如果您抓取亚马逊或渲染 JavaScript,您将相对较快地达到上限。Zyte 也是如此。当然,这两家提供商都允许解除限制,但这主要适用于具有企业级需求的客户。

解析功能

我们还想知道这些 API 解析页面的能力,以及它们可以返回多少页面内容。这是一个小规模的定性测试,所以要谨慎对待。我们选取了四种页面并进行了手动分析: 

  1. 本地化的 Google 搜索桌面查询,
  2. 本地化的谷歌搜索移动查询,
  3. Google 购物查询,
  4. 亚马逊产品页面。

对于第一个测试,我们使用了查询 我附近最好的理发师 (参考页),并将位置设置为英国伦敦。 

Oxylabs Bright Data Smartproxy Rayobyte 爬虫API Shifter
本地化?
有机肥产线
零食包
地图
相关搜索
人们也会问

参与者使用了两种方法:ScraperAPI 和 Rayobyte 仅返回关键信息,而其他网站则尝试解析 SERP 的所有元素。(Bright Data 甚至返回了地图的截图!) Rayobyte结果证实了我们的 测试 从 2022 年初开始,因此我们可以假设它的解析器对于大多数查询的工作方式相同。 

由于某些原因, Shifter的位置参数不起作用,因此 API 无法返回本地结果。

移动查询使用所有相同的参数,设备是唯一的例外。

Oxylabs Bright Data Smartproxy Rayobyte 爬虫API Shifter
本地化?
有机肥产线
零食包
地图
相关搜索
人们也会问

Bright Data, Oxylabs和 Smartproxy 返回完整且准确的结果没有任何问题。 Shifter的移动解析器回归到主页元素,并且再次无法返回本地数据。ScraperAPI 无法抓取任何内容,并且 Rayobyte的解析器没有用于选择设备类型的参数。

我们使用查询 Nike Air Max (参考页) 以 Google 的购物搜索类型 (tbm) 为目标,并将地点设置为英国伦敦。

Oxylabs Bright Data Smartproxy 爬虫API Shifter
本地化?
搜索过滤器
广告 未能返回 未能返回 未能返回
名称 标题、URL、缩略图、ID 标题、URL、缩略图、ID 标题、URL、缩略图、ID 标题、URL、缩略图、ID 标题、URL、缩略图
定价 解析价格、货币 以货币标价 解析价格、货币 带货币的价格,解析价格 带货币的价格,解析价格
商人 名称、网址 姓名 名称、网址 姓名 姓名
寄送地址
评价 评论数 评分、评论数 评论数 评分 评分、评论数
其他 价格对比 按材料过滤,您可能喜欢,相关搜索,价格比较

ScraperAPI 返回了最完整的结果,包括相关搜索和 你可能会喜欢 块。它也是检索广告结果的两个提供商之一(其他提供商的此字段为空)。 Oxylabs 和 Smartproxy 是唯一提供搜索过滤器的提供商,而 Bright Data 和 Shifter 无法针对该特定请求本地化页面。 

我们针对不同类别的多个产品页面进行了定位,例如美术用品、厨具和电子产品(参考页). 

Oxylabs Smartproxy Rayobyte 爬虫API
面包糠
名称 标题、ASIN、描述、要点、产品详细信息、型号 标题、ASIN、描述、要点、产品详细信息、型号 标题、ASIN、描述、要点、产品详情 标题、说明、要点、产品详细信息、型号
图片
商品变体
定价 价格、货币、折扣 价格、货币、折扣 价格、货币 价格(货币)
商人 购买框、其他优惠 购买框、其他优惠 其他优惠 购买框、其他优惠
可用性 库存,最大数量,先到先得 库存,最大数量,先到先得 库存充足,先到先得 库存充足,先到先得
畅销书排名
寄送地址  价格、运费详情 价格、运费详情 价格筛选
评价 评论计数、平均星级、问题数量、星级分布、热门评论 评论计数、平均星级、问题数量、星级分布、热门评论 评论数、平均星级、问题数 评论数、平均星级、问题数
保修政策

所有四个 API 都能够解析大多数页面元素。 Oxylabs 和 Smartproxy 结果最完整,因为它们的 .json 文件还包含折扣、交付和保修信息,而其他两个 API 则缺乏这些信息。

Rayobyte的解析器提供的信息最少:其输出遗漏了商品变体、配送和保修信息。提供商选择排除购买框数据(可能是因为它经常更改),而是选择指向可用卖家的 URL。我们还遇到了一些格式错误,但并不严重。 

成本效益

在最后一部分中,我们将探讨网络抓取 API 的定价模型、影响其价格的因素以及这些抓取工具在不同场景下的成本(例如,获取未受保护的网站的 HTML 与抓取交互式目标)。

定价模型

几乎无一例外,网页抓取 API 的定价都是基于成功请求的。这使得计算费用变得简单:如果请求失败,您无需付费。您还可以通过查看 CPM(每 1,000 次请求的价格)轻松比较多家提供商的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
定价模式 提交订阅 按使用量付费,订阅 提交订阅 按使用量付费,订阅 随用随付 提交订阅 提交订阅
结构 成功的请求 成功的请求 成功的请求 成功的请求 成功的请求 成功的请求 成功的请求
起始价 $99 3 美元(即用即付),500 美元(计划) $50 0 美元(即用即付),25 美元(计划) $0.0018/请求 $49 $44
试用 一周需要 5,000 公司7天 3,000 天需要 3 5 美元免费信用 每月免费 5,000 次 一周 5,000 积分 退款保证

在我们的案例中,没有例外。所有提供商都收取 200(通常是 404)响应代码的费用,不包括隐藏的 CAPTCHA 和其他失败的响应。一些提供商允许随用随付,但主流模式仍然是按月​​订阅。Zyte 的方法非常有趣:您设置每月限额并每月预付一半金额。 

我们习惯于使用代理网络,由于滥用,这些网络很少进行试用,因此很高兴看到几乎任何提供商都可以提供代理网络。标准似乎是 5,000 个请求,这应该足以正确测试抓取工具。 Rayobyte 更进一步,实际上每个月都会更新试用,有效地提供免费计划。 

计算请求价格

尽管定价模型简单,但有些网页抓取 API 却让计算请求价格变得困难。它们根据目标、JavaScript 渲染、住宅代理等引入价格修饰符。因此,使用相同计划抓取两个网站的成本可能相差 75 倍!

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
价格调整 搜索引擎、电子商务网站 搜索引擎、电子商务网站 目标、JS 渲染、高级代理、屏幕截图、浏览器操作 高级、超级高级代理、高级目标、JS 渲染 高级代理、JS 渲染、搜索引擎
最大价格差异 x2 3 x1 x1.5 3 定制 x1 x75 x25

ScraperAPI 就是最明显的例子。它有一个精心设计的结构,结合了三层代理网络(普通、高级住宅、超级高级)和 JavaScript 渲染。例如,启用住宅代理需要 10 个积分,而将其与无头抓取相结合则需要 25 个积分。对于 Google(25 个积分)、Amazon(5 个积分)和社交媒体(30 个积分)等网站,费率也有所不同。

提供者喜欢 Oxylabs 和 Smartproxy 按网站组区分成本。与通用 API 相比,他们的搜索引擎抓取工具成本高出 2-3 倍,而电子商务抓取工具成本大约高出两倍。 Shifter 对于搜索引擎采用相同的方法,而其常规抓取工具则采用了 ScraperAPI。 

Bright Data 和 Rayobyte 不管您使用自定义抓取工具还是渲染 JavaScript,价格都会保持不变。这对于简单性和抓取困难目标非常有用,但对于不受保护的网站可能效率不高。 

Zyte 值得单独提及。它会动态计算每个网站的每次请求价格,同时考虑网站的难度、是否渲染 JavaScript、是否截屏以及是否执行了浏览器操作。后者会考虑 CPU 和网络消耗。提前估算费用是没有意义的,甚至期望费用保持不变,因为 Zyte 会在它或目标网站发生变化时调整成本。

zyte api 成本计算器
Zyte 的仪表板工具可帮助估算请求成本。

不同场景下的成本

那么,使用这些 API 抓取网站数据实际上需要花费多少钱呢?我们计算了不同价位每 1,000 个请求的费率。

一些澄清: 基本场景 指的是未受保护的网站,无需高级代理即可进行抓取。在其他情况下,我们采用最便宜的配置,可以持续抓取目标。

 

当为该服务支付 1,000 美元时,每 50 个请求的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
基础网站 $3 $2 $0.50 $1.80 $0.49 $0.45
Google  $3 $3.85 〜$ 1.50 $1.80 $12.25 $9.00
Amazon  $3 $3.35 〜$ 1.20 $1.80 $2.45 $2.25
社交媒体  $3 $2 〜$ 0.50 $1.80 $14.90 $11.25
社交媒体(呈现) $3 $2 〜$ 23 $1.80 $19.60 $11.25

当为该服务支付 1,000 美元时,每 100 个请求的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
基础网站 $1.30 $3 $1.00 〜$ 0.40 $1.80 $0.15 $0.45
Google  $3.40 $3 $2.86 〜$ 1.30 $1.80 $3.73 $9.00
Amazon  $3.00 $3 $2.00 〜$ 1.00 $1.80 $0.75 $2.25
社交媒体(graphQL) $1.30 $3 $1.00 〜$ 0.40 $1.80 $4.50 $11.25
社交媒体(呈现) $1.30 $3 $1.00 〜$ 20 $1.80 $6.00 $11.25

当为该服务支付 1,000 美元时,每 250 个请求的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
基础网站 $1.30 $3 $0.90 〜$ 0.34 $1.80 $0.15 $0.135
Google  $3.40 $3 $2.50 〜$ 1.1 $1.80 $3.73 $7.50
Amazon  $3.00 $3 $1.67 〜$ 0.83 $1.80 $0.75 $0.68
社交媒体(graphQL) $1.30 $3 $0.90 〜$ 0.34 $1.80 $4.50 $3.38
社交媒体(呈现) $1.30 $3 $0.90 〜$ 17 $1.80 $6.00 $3.38

当为该服务支付 1,000 美元时,每 500 个请求的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
基础网站 $1.00 $2.55 $0.80 〜$ 0.30 $1.80 $0.10 $0.09
Google  $2.50 $2.55 $2.00 〜$ 0.93 $1.80 $2.50 $4.50
Amazon  $2.00 $2.55 $1.50 〜$ 0.71 $1.80 $0.50 $0.45
社交媒体(graphQL) $1.00 $2.55 $0.80 〜$ 0.30 $1.80 $3 $2.25
社交媒体(呈现) $1.00 $2.55 $0.80 〜14.70 $1.80 $4 $2.25

当为该服务支付 1,000 美元时,每 1,000 个请求的成本。

Oxylabs Bright Data Smartproxy 合特 Rayobyte 爬虫API Shifter
基础网站 $0.60 $2.40 $0.60 〜$ 0.24 定制 $0.07 定制
Google  $1.90 $2.40 $1.80 〜$ 0.76 定制 $1.75 定制
Amazon  $1.50 $2.40 $1.40 〜$ 0.58 定制 $0.45 定制
社交媒体(graphQL) $0.60 $2.40 $0.60 〜$ 0.24 定制 $2.1 定制
社交媒体(呈现) $0.60 $2.40 $0.60 $12 定制 $2.8 定制

这些表格很好地展示了价格调整器在实践中是如何运作的。ScraperAPI, Shifter和 Zyte 乍一看都很便宜——只要你坚持简单的目标,它们确实很便宜。但是一旦涉及到高级代理,尤其是无头浏览器,它们的价格就会迅速飙升。 

其他提供商更加可预测:它们抓取不受保护的网站的费用很高,提供有竞争力的专门 API,并且如果你需要 JavaScript 的话,它们非常有意义。 Bright Data在我们考察的范围内,面向企业的定价并没有太大的变化,而 Rayobyte 一开始很便宜(基本网站除外)但价格长期保持相同。 

最后,购买不到 50 美元的套餐毫无意义。ScraperAPI 的 100 美元套餐价格几乎是其三倍,而且 Smartproxy 价格会降低一半。

结语

网页抓取 API 的格局出奇地多样化。您可以花少量的钱购买功能有限的抓取工具来提取 HTML 页面,也可以投入更多资金从世界任何地方获取结构化数据。有些 API 可以作为代理集成以简化转换,而有些 API 则允许您构建自定义解析器甚至脚本浏览器交互。  

我们希望我们的研究能够帮助您熟悉此类别的网络抓取工具,并且如果您想购买,您可以更好地做出购买决定。

Chris Becker 的照片
克里斯·贝克尔
代理审阅者和测试者。