比较流行的 Web 抓取和代理 API
我们的报告对近十几种流行的解锁程序和网页抓取 API 进行了基准测试。这些远程抓取程序通过克服 CAPTCHA、JavaScript 虚拟机和反机器人系统设置的其他障碍,简化了网页数据收集过程。
尽管网络抓取 API 每年都越来越受欢迎,但随着人工智能模型的兴起、在线平台的关闭以及机器人保护方法的商业化,网络抓取 API 变得尤为重要。
我们的主要目标是考察这些 API 在 2024 年底解锁受保护网站的能力(之前的报告请参考:网络爬虫 API 对比(2023 年)、代理 API 对比(2023 年))。我们还会研究它们的功能和定价策略,以全面了解市场情况。
结语
- 我们的参与者名单包括 11 个 API 提供商,我们测试了 10 个受保护的网站 以每秒 10 个请求的速率。
- 五个 API 成功打开所有目标,而其他网站解锁失败的网站数量则有 1 到 5 个。 Oxylabs、Zyte 和 Bright Data 平均成功率最高 约 98%。
- Zyte 的 API 运行速度极快,成功无需无头浏览器即可解锁所有目标。 Bright Data的 Web Unlocker 虽然在速度上倒数第二,但却是唯一一个运行没有失败的 API。
- G2(Cloudflare) 事实证明,这是成功率最高的目标,而最多的参与者(五人)未能解锁 Allegro(DataDome).
- 与代理 API(也称为网络解锁器)相比,网络抓取 API 具有更多功能:异步交付、数据解析功能和专用端点。有些还包括代理模式,使得区分变得任意。
- 我们看到了 更多提供商针对热门目标发布专用端点。 此外, 已经出现了几种基于人工智能的解析方法,从针对页面类型训练的模型到人工智能生成的解析模式。
- 为较小客户提供服务的供应商通常会选择基于信用的定价模式;虽然对于基本网站来说它们非常便宜,但在访问具有挑战性的目标时它们会产生巨大的乘数效应。
- 在面向业务的提供商中, Zyte 在解锁任务的价格上很难被击败对于依赖 JavaScript 或需要特殊功能的目标(例如本地化的 Google 或 Amazon 查询), Smartproxy 和 Oxylabs 在性能和成本之间提供令人满意的平衡。
参与者成员
我们的研究涵盖了11家主要的网页抓取和代理API(通常称为网页解锁器)提供商。这些工具在技术上属于不同的产品类别,但我们决定不将它们区分开来。两者往往使用相同的技术,而且网页抓取API有时会将代理模式作为集成格式之一,这进一步模糊了二者之间的区别。
大多数参与者在业界都很有名,尽管他们的抓取基础设施并不出名。以下是完整列表:
| 参与者 | 已测试产品 | 目标听众 |
| Bright Data | Web 解锁器,SERP API | 公司及企业 |
| Infatica | Web、SERP、电子商务 API | 个人和小型企业 |
| 网络坚果 | 网页解锁器 | 公司及企业 |
| Nimble | Web、SERP、电子商务 API | 公司及企业 |
| Oxylabs | 网络爬虫 API | 公司及企业 |
| Rayobyte | 刮Robot机器人 | 个人和小型企业 |
| 爬虫API | 抓取 API | 个人和小型企业 |
| 刮dog狗 | 网页抓取 API | 个人和小型企业 |
| Smartproxy | Web、SERP、电子商务、社交 API | 中小型企业 |
| SOAX | 网页解锁器 | 公司及企业 |
| 合特 | Zyte API | 个人至企业 |
研究方法
我们事先向所有参与者提供了方法论文档。一些参与者积极关注我们的进展,并根据情况随时调整他们的爬虫程序。这很正常,因为网络爬虫是一个动态过程,应该以动态的方式来对待。希望我们也能帮助提高实际客户的成功率。
我们根据目标网站的受欢迎程度和反机器人系统选择了10 个目标。我们的目标是测试这些爬虫程序在所有主流反机器人厂商的防护下的表现。
| 目标 | 机器人保护 |
| Allegro(产品) | 数据穹顶 |
| 亚马逊(产品) | 在内部 |
| Canadagoose(产品) | Kasada |
| G2(产品评论) | Cloudflare |
| 谷歌(SERP) | 在内部 |
| 确实(位置目录) | 形状 |
| Instagram(HTML 个人资料) | 在内部 |
| 劳氏(产品) | Akamai的 |
| Safeway(产品) | Imperva的 |
| 沃尔玛(产品) | PerimeterX |
有一些注意事项需要考虑:
- 反机器人系统可能根据网站(甚至同一网站的不同类别)具有不同级别的保护。
- 一些机器人防护供应商专注于保护敏感端点(例如内部 API 或登录页面),因此它们可能不会全力防御简单的公共内容收集。
在数周时间内,我们对每个目标至少进行了三次测试。我们抓取了约 6,000 个唯一的 URL,直接跳转到目标页面。请求速率为每秒 10 次,超时时间为 600 秒。这足以触发机器人防护系统,而且正如我们将看到的,也会对某些爬虫程序造成严重压力。
我们使用了一个自定义的Python脚本——它的功能很简单,就是向爬虫发送请求并接收响应,然后测量响应到达我们服务器所需的时间。我们的服务器位于美国。
参与者可以自由地为目标提出最佳参数,有些人确实这么做了。否则,我们会自行判断,从最简单的配置开始,如果无法解锁或加载有价值的内容,则启用可选功能(例如高级代理和无头浏览器)。
我们通过检查响应代码和 HTML 大小来验证请求是否成功。后者是必要的,因为有些网站(例如 Safeway)倾向于返回不包含数据的 200 代码响应。
部分服务提供商设置了并发限制,这可能会影响我们的数据抓取速度:
- ScraperAPI 最大的公共计划有 100 个并发线程的限制,这对于每秒 10 个请求来说是不够的,尤其是在涉及无头浏览器时。
- Infatica 和Scrapingdog有同样的限制。
- Zyte 的默认速率限制是每分钟 500 个请求(~8.3/秒)。
ScraperAPI、Scrapingdog 和 Zyte 为我们解除了限制。 Infatica 无法做到这一点,迫使我们以每秒 1 个请求的速度抓取大多数网站。我们还遇到了 SOAX的内部限制,并决定对更复杂的目标坚持使用~5 req/s。
基准测试结果
结果显示了每个 API 在每个目标上的最佳运行情况。必要时,我们会提供注释以提供更多背景信息。
整体表现
| Oxylabs | 合特 | Bright Data | Smartproxy | Nimble | 网络坚果 |
|---|---|---|---|---|---|
| 98.50% | 98.38% | 97.90% | 96.29% | 95.48% | 80.82% |
| SOAX | 爬虫API | 刮dog狗 | Infatica | Rayobyte | |
| 69.30% | 67.72% | 43.84% | 38.40% | 37.65% |
将鼠标悬停在标签上即可突出显示,单击即可隐藏。
| 合特 | 网络坚果 | Smartproxy | 刮dog狗 | Nimble | SOAX |
|---|---|---|---|---|---|
| 6.61小号 | 9.71小号 | 10.91小号 | 10.92小号 | 13.01小号 | 13.41小号 |
| Oxylabs | 爬虫API | Infatica | Bright Data | Rayobyte | |
| 13.45小号 | 15.39小号 | 17.15小号 | 22.08小号 | 26.24小号 |
将鼠标悬停在标签上即可突出显示,单击即可隐藏。
五家供应商或多或少都成功打开了所有目标,这是一个很好的结果。我们可以区分 Oxylabs 以及 Zyte 的总体成功率;虽然这里没有反映出来, Bright Data 非常可靠,从未失败过任何一次测试。
其余的API至少都遇到过一个问题。但你不能仅仅根据一个总体数据就否定这些API。例如,除了Lowe's和Safeway之外,NetNut在大多数网站上的表现都非常出色,等等。
在响应速度方面,Zyte 的 API 速度极快,比其他 API 快四倍之多。该提供商在开发过程中进行了一些调整,最终实现了无需 JavaScript 渲染即可打开所有目标。
Bright Data 显然优先考虑解锁成功,因此其性能低于预期。我们认为扩展其 API 的更好方法是通过更多并行请求,但我们的测试参数并未充分利用这一点。
最难解锁的目标
我们省略了 Infatica的和 SOAX的成功率列结果,因为它们是在较低的速率限制(每秒分别为一个和五个请求)下进行测试的。
| 平均成功率 | 失败率超过 80% 的参与者 | |
| G2 | 60.39% | 4 |
| 劳氏 | 67.17% | 3 |
| 快板 | 68.32% | 5 |
| 西夫韦 | 68.93% | 4 |
| 加拿大鹅 | 75.73% | 4 |
| 的确 | 81.40% | 1 |
| 89.82% | 0 | |
| 93.77% | 0 | |
| 沃尔玛 | 94.54% | 1 |
| Amazon | 96.12% | 0 |
从所有服务商的平均成功率来看,G2(Cloudflare)是最难解锁的。然而,实际上, Allegro是大多数用户无法稳定打开的。它的平均成功率被其他服务商拉高了。
另一方面,大多数API几乎完美地打开了谷歌和亚马逊的服务器。作为主要的网络爬虫目标,它们是任何商业数据收集服务的基准。
按个体目标细分
| Provider | 成功率 | 响应时间 |
| Oxylabs | 100% | 1.96小号 |
| Smartproxy | 100% | 2.38小号 |
| Bright Data | 99.90% | 3.68小号 |
| Nimble | 99.80% | 12.06小号 |
| 网络坚果 | 99.62% | 6.18小号 |
| 合特 | 99.13% | 4.80小号 |
| 刮狗 | 7.88% | 10.85小号 |
| 爬虫API | 7.01% | 26.68小号 |
| SOAX | 2.12% | 6.30小号 |
| Rayobyte | 1.54% | 7.65小号 |
| Infatica | 解锁失败 |
正如一位参与者所言,Allegro 很难解除屏蔽。该网站使用了 DataDome,甚至被这家反机器人供应商列为成功案例。
实际上,我们看到了两种极端情况:API 要么完美地打开 Allegro,要么完全失败。同样的情况在我们的测试中不断重复。总而言之, Oxylabs 和 Smartproxy 在这里表现得特别好。
| Provider | 成功率 | 响应时间 |
| 爬虫API | 100% | 3.79小号 |
| Oxylabs | 100% | 5.08小号 |
| Bright Data | 99.85% | 5.88小号 |
| Smartproxy | 99.83% | 5.05小号 |
| Nimble | 99.82% | 6.39小号 |
| 合特 | 99.80% | 3.26小号 |
| 网络坚果 | 99.73% | 6.21小号 |
| SOAX | 99.67% | 12.11小号 |
| Infatica | 94.66% | 8.85小号 |
| Rayobyte | 87.86% | 12.93小号 |
| 刮狗 | 78.23% | 13.97小号 |
亚马逊是网络爬虫的首选网站,因此对于任何一家有自尊的服务商来说,解除对其的屏蔽都是必不可少的。正因如此,亚马逊反而成了最不容易成为攻击目标的。
我们看到的结果一致,每次运行之间几乎没有偏差。虽然差异很小,但 ScraperAPI 的表现最好。
| Provider | 成功率 | 响应时间 |
| 网络坚果 | 99.90% | 7.01小号 |
| 合特 | 99.88% | 15.26小号 |
| 爬虫API | 99.79% | 3.58小号 |
| Bright Data | 99.60% | 4.45小号 |
| Oxylabs | 98.87% | 4.09小号 |
| Nimble | 90.73% | 11.85小号 |
| Smartproxy | 79.88% | 6.22小号 |
| Rayobyte | 12.95% | 56.83小号 |
| SOAX | 解锁失败 | |
| Infatica | 解锁失败 | |
| 刮狗 | 解锁失败 |
加拿大鹅官网虽然只有几百种商品,但每月访问量却高达数十万人。该网站使用了 Kasada 加密技术,破解起来非常棘手。参与者要么找到了绕过方法,要么就是未能成功解除对该目标的封锁。
就像在 The Web Scraping Club 的基准测试中一样,NetNut 的解锁器成功率最高,尽管它不是最快的。一些 API 在运行过程中存在显著差异: Nimble、ScraperAPI 和 Smartproxy 失败了几次测试,然后为其他人修复了他们的刮刀。
| Provider | 成功率 | 响应时间 |
| 网络坚果 | 99.80% | 4.79小号 |
| SOAX | 99.38% | 13.75小号 |
| Bright Data | 91.74% | 26.80小号 |
| 合特 | 90.12% | 6.71小号 |
| Oxylabs | 87.35% | 27.45小号 |
| Smartproxy | 83.95% | 6.92小号 |
| Nimble | 69.11% | 39.23小号 |
| 刮狗 | 19.80% | 3.33小号 |
| 爬虫API | 1.36% | 22.29小号 |
| Rayobyte | 0.32% | 94.20小号 |
| Infatica | 解锁失败 |
G2是一家大型企业点评网站,受Cloudflare保护。我们发现它是最具挑战性的攻击目标,即使是最强大的API也难以招架。
再次,NetNut 在成功率和响应时间方面均表现出色。与 Canada Goose 一样,对于多名参与者,每次运行的结果并不总是一致的。
| Provider | 成功率 | 响应时间 |
| 合特 | 100% | 0.81小号 |
| 网络坚果 | 100% | 2.10小号 |
| Nimble | 100% | 3.24小号 |
| Smartproxy | 100% | 5.37小号 |
| Oxylabs | 99.98% | 4.79小号 |
| 刮狗 | 99.97% | 2.93小号 |
| Bright Data | 99.86% | 10.12小号 |
| Infatica | 95.07% | 2.44小号 |
| SOAX | 94.13% | 8.70小号 |
| Rayobyte | 92.20% | 4.49小号 |
| 爬虫API | 51.93% | 5.83小号 |
对于任何网络爬虫API来说,谷歌都是必不可少的。该搜索引擎受到臭名昭著的reCAPTCHA保护,会迅速限制可疑访问者的访问速度。但除了一个API之外,它对其他所有API都毫无影响。
Zyte 的性能给我们留下了深刻的印象。Zyte API 不仅实现了完美的成功率,而且在不到一秒的时间内返回请求 - 比其他 API 快得多。
| Provider | 成功率 | 响应时间 |
| 网络坚果 | 100% | 2.52小号 |
| Smartproxy | 100% | 3.38小号 |
| Bright Data | 100% | 4.67小号 |
| Oxylabs | 99.88% | 3.69小号 |
| Infatica | 99.84% | 3.12小号 |
| Nimble | 99.76% | 10.80小号 |
| 合特 | 99.53% | 10.85小号 |
| SOAX | 98.92% | 12.84小号 |
| 爬虫API | 98.80% | 5.02小号 |
| 刮dog狗 | 25.46% | 20.03小号 |
| Rayobyte | 9.19% | 21.51小号 |
出乎我们意料的是,Indeed 并非网络爬虫的难缠目标。该网站采用了以反机器人程序著称的 Shape 系统,但我们要么未能触发该系统,要么 Indeed 使用了较为宽松的配置。
无论如何,至少有五家供应商取得了惊人的成绩,很难区分出一个异常值。除 ScraperAPI 外,所有运行都重复了类似的结果。
| Provider | 成功率 | 响应时间 |
| Nimble | 99.97% | 7.01小号 |
| SOAX | 99.73% | 8.96小号 |
| Oxylabs | 99.55% | 27.46小号 |
| Smartproxy | 99.48% | 23.46小号 |
| 合特 | 99.13% | 2.63小号 |
| Bright Data | 96.61% | 55.04小号 |
| 网络坚果 | 96.21% | 25.31小号 |
| Infatica | 93.04% | 20.40小号 |
| 爬虫API | 79.33% | 21.90小号 |
| 刮狗 | 75.36% | 8.83小号 |
| Rayobyte | 62.75% | 13.63小号 |
Instagram 是另一个重要的网络数据来源,尽管 TikTok 的人气可能已经开始挑战它的地位。该社交媒体平台使用自己的机器人防护系统,会将可疑用户重定向到登录页面。然而,在我们的测试中,Instagram 并没有给大多数参与者造成太大问题。
总体而言, Nimble的结果在纸面上看起来最好。有趣的是,Zyte 在此过程中调整了其抓取工具,我们的上一次测试在未启用 JavaScript 渲染的情况下成功运行。因此,Zyte 的响应时间令人印象深刻。
| Provider | 成功率 | 响应时间 |
| 合特 | 100% | 17.78小号 |
| Smartproxy | 99.98% | 24.20小号 |
| SOAX | 99.83% | 14.16小号 |
| Nimble | 99.81% | 18.56小号 |
| Oxylabs | 99.75% | 29.58小号 |
| Bright Data | 99.14% | 75.61小号 |
| 爬虫API | 63.13% | 34.45小号 |
| 网络坚果 | 27.00% | 16.09小号 |
| 刮狗 | 9.90% | 23.31小号 |
| Rayobyte | 5.79% | 39.36小号 |
| Infatica | 1.40% | 50.93小号 |
Lowe's 是一家相当受欢迎的攻击目标,它使用了 Akamai 的机器人防护系统。该系统击垮了三分之一的参赛机器人,其中包括 NetNut,后者凭借其他反机器人软件也表现出色。
另一方面,六个 API 的成功率超过 99%,这是一个很好的结果。
| Provider | 成功率 | 响应时间 |
| 合特 | 100% | 1.65小号 |
| Smartproxy | 99.81% | 28.36小号 |
| Oxylabs | 99.69% | 27.57小号 |
| Nimble | 95.95% | 9.82小号 |
| Bright Data | 92.33% | 29.33小号 |
| 爬虫API | 75.84% | 25.32小号 |
| 刮狗 | 50.07% | 2.61小号 |
| Rayobyte | 6.61% | 2.09小号 |
| 网络坚果 | 0.05% | 11.55小号 |
| SOAX | 0.04% | 27.31小号 |
| Infatica | 解锁失败 |
美国连锁超市Safeway受Imperva保护,并在北美以外地区实施严格的地域限制。该网站并非热门攻击目标,因此大多数参与者都觉得攻击难度较高,需要多次尝试才能适应。
总而言之,Zyte 的表现在纸面上看起来很棒,但 Bright Data 确保所有测试的结果一致。
| Provider | 成功率 | 响应时间 |
| Smartproxy | 99.98% | 3.80小号 |
| 爬虫API | 99.98% | 5.04小号 |
| Bright Data | 99.98% | 5.20小号 |
| Oxylabs | 99.88% | 2.84小号 |
| Nimble | 99.88% | 11.12小号 |
| SOAX | 99.25% | 16.58小号 |
| Rayobyte | 97.32% | 9.68小号 |
| 合特 | 96.22% | 2.31小号 |
| 网络坚果 | 85.91% | 15.68小号 |
| 刮狗 | 71.70% | 12.46小号 |
| Infatica | 解锁失败 |
尽管沃尔玛的影响力可能不及亚马逊,但它仍然是重要的电商数据来源。沃尔玛通常会采用多种反机器人系统,但一般认为它与 PerimeterX 系统相关。
大多数参与者并不认为沃尔玛有问题。然而,我们确实看到 Nimble's 和 Scraping Robot 的成功率在 8 月底 PerimeterX 更新后暴跌。
其他观察
- 访问受保护的目标时,商业 API 可能会很脆弱。 即使提供商有针对该机器人系统的通用绕过方法,不太受欢迎的网站也可能需要解除封锁。沃尔玛或 G2 等热门目标在重大更新后也可能会暂时中断。
- 提供商使用不同的方法来解除对同一网站的封锁。 Nimble 依赖于它所称的 无浏览器驱动程序 – 它们无需调用传统的无头浏览器即可呈现 JavaScript。我们看到了对这些驱动程序的极大依赖。另一方面,在我们的测试结束时,Zyte 能够访问所有目标,而根本不需要浏览器呈现的 HTML。
- 以每秒一个请求的速度运行测试和以每秒十个或更多请求的速度运行测试之间存在很大差异。首先,我们不会发现提供商存在扩展问题。其次,一些网站直到每秒请求数达到 5 个或更多时才开始出现严重阻塞。
功能概述
让我们快速了解一下使用抓取工具和代理 API 可以做什么。
代理与 API 集成
集成方式的选择通常在购买前就已经决定了:如果你的代码库采用代理格式,你自然会倾向于选择它。但是,API 和代理集成方式在功能上真的有区别吗?某种程度上来说,是的。
| 代理 API(解锁器) | Web 抓取 API | |
| 资料传送 | 实时流量可 | 实时或按需,有时采用批处理和云存储 |
| 地理位置选择 | 通常是全国性的,有时甚至达到城市和 ASN | 通常在国家层面 |
| 会议 | ✅ | ✅ |
| 自定义标头和 Cookie | ✅ | ✅ |
| JavaScript 渲染 | 切换 | 带有滚动、等待等可选说明的切换按钮 |
| 专用端点 | 通常不可用 | 针对热门网站,定制参数(例如 ASIN 输入、亚马逊的 ZIP 选择) |
| 数据解析 | 通常不可用 | 通过专门的端点、手动选择器或最近的法学硕士 |
| 输出格式 | HTML | HTML、JSON,有时为 CSV |
代理 API:
| 之路 | 地理定位 | 会议 | 自定义标题 | JS渲染 | 专用端点 | 数据解析 | |
|---|---|---|---|---|---|---|---|
| Bright Data | 代理,异步 API | 150 多个国家/地区提供城市和 ASN 定位 | ✅ | ✅ | 自动,切换 | 搜索引擎 | 专用端点 |
| 网络坚果 | 代理 | 150 +国家 | ✅ | ✅ | 切换 | ❌ | ❌ |
Web 抓取 API:
| 之路 | 地理定位 | 会议 | 自定义标题 | JS渲染 | 专用端点 | 数据解析 | |
|---|---|---|---|---|---|---|---|
| Infatica | 实时、异步 API | 150 +国家 | ✅ | ✅ | 切换 | 搜索、电子商务 | 专用端点 |
| Nimble | 实时、异步 API(带批处理、云存储) | 150 多个国家/地区,可定位州和城市 | ✅ | ✅ | 切换,说明 | 搜索、电子商务、社交媒体 | 手动、自动解析、特殊端点 |
| Oxylabs | 实时、异步 API(带批处理、云存储)、代理 | 150 多个国家/地区,提供亚马逊的邮政编码、谷歌的城市和坐标 | ✅ | ✅ | 切换,说明 | 搜索、电子商务 | 手动、特殊端点、解析器构建器 |
| Rayobyte | 实时、异步 API(带批处理) | 150 +国家 | ✅ | ✅ | 切换,说明 | 搜索、电子商务 | 手动、特殊端点 |
| 爬虫API | 实时、异步 API(带批处理)、代理 | 12 个国家/地区(50 多个,根据要求提供)亚马逊的邮政编码 | ✅ | ✅ | 切换,说明 | 搜索、电子商务 | 手动、特殊端点 |
| 刮狗 | 实时、异步 API、代理 | 国家15 | ✅ | ✅ | 切换,说明 | 搜索、电子商务、社交媒体等 | 特殊端点 |
| Smartproxy | 实时、异步 API(带批处理)、代理 | 150 多个国家/地区,提供亚马逊的邮政编码、谷歌的城市和坐标 | ✅ | ✅ | 切换,说明 | 搜索、电子商务、社交媒体 | 手动、特殊端点 |
| SOAX | 实时流量可 | 150 +国家 | ❌ | Cookies | 切换 | 搜索、电子商务、社交媒体 | 特殊端点 |
| 合特 | 实时 API、代理 | 150 +国家 | ✅ | ✅ | 切换、说明、脚本 | ❌ | 手动、基于类别 |
代理 API 通常旨在作为代理服务器的直接升级产品,提供即插即用的替换流程。同时,由于您实际上是将页面加载阶段外包出去,因此代理 API 需要超越常规代理网络功能(例如地理位置),涵盖请求操作甚至 JavaScript 渲染。它们也确实做到了这一点。
尽管代理 API 功能丰富,但仍存在局限性。例如,它们很少提供专用接口、按需访问抓取结果或数据结构化功能。另一个在复杂场景下的主要缺点是与无头浏览器库不兼容,并且自身不提供浏览器指令。而网络爬虫 API 则在这方面提供了更大的灵活性。
也有例外。 Bright Data的 SERP API 作为代理集成,但实际上它是一个高度专业化的抓取工具,具有数据解析和自定义参数。有趣的是, 一些销售网络解锁器的提供商还提供具有全功能代理模式的网络抓取 API在这些情况下,差异取决于定价方法,以及可能的营销策略。
如何使用代理和网络爬虫 API?显然,最基本的要求是向服务提供商的服务器发送 HTTP 请求。但是,配置该请求的方式可能有所不同。通常是带有 URL 参数和请求头的 GET 请求,或者带有 JSON 有效负载的 POST 请求。
探索个人特征
所有现代代理和网页抓取 API 都能渲染 JavaScript。随着网页交互性日益增强,每年都会出现一个越来越常见的问题:我还能在这个页面上做什么?代理 API 往往忽略了这一点;而网页抓取 API 开发者的解决方案是通过特殊参数暴露浏览器控件。
| 截图 | 点击 | 输入 | 向下滚动 | 稍等 | |
| Nimble | ✅ | ✅ | ✅ | ✅ | ✅ |
| Oxylabs | ✅ | ✅ | ✅ | ✅ | ✅ |
| Rayobyte | ✅ | ✅ | ✅ | ✅ | ✅ |
| 爬虫API | ❌ | ✅ | ✅ | ✅ | ✅ |
| 刮狗 | ✅ | ❌ | ❌ | ❌ | ✅ |
| Smartproxy | ✅ | ✅ | ✅ | ✅ | ✅ |
| SOAX | ✅ | ❌ | ❌ | ❌ | ✅ |
| 合特 | ✅ | ✅ | ✅ | ✅ | ✅ |
Bright Data, Infatica、NetNut – 仅提供基本渲染功能。
您可以组合使用多个指令。例如,您可以选择一个字段,输入文本,点击它,然后等待响应。服务提供商通常会设置执行时间限制,一般在 60 到 120 秒之间。
Zyte 更进一步。它的客户可以访问云端托管的 VS Code 环境,并在其中编写自己的交互脚本。
后一种功能并不常见:相反,我们看到的是 出现的新类别旨在提高网络抓取的成功率,同时提供与无头浏览器库的标准兼容性。 例如 Undetect, Bright Data的抓取浏览器,以及主要的反检测浏览器,如 Multilogin 和 Gologin。
专用接口是为网站或其属性(例如亚马逊产品页面)量身定制的。它们通常具有自定义参数和数据解析功能。例如,谷歌搜索结果页面 (SERP) 接口可以获取本地搜索结果(城市范围或特定坐标),而使用通用 API 则无法获取这些结果。
| Amazon | 其它 | ||
| Bright Data | SERP、广告、搜索类型、本地搜索 | ❌(其他产品可用) | Bing、Yandex、DDG |
| Infatica | 搜索引擎结果页面 (SERP)、广告 | 搜索、产品 | 预约咨询 |
| Nimble | SERP、广告优化、本地搜索 | 搜索,产品(包括邮政编码) | Bing、Yandex 正在快速添加更多 |
| Oxylabs | SERP、广告、搜索类型、超本地搜索 | 产品、搜索、卖家、评论等(包括邮政编码) | 沃尔玛、Bing、Etsy、百思买、塔吉特 |
| Rayobyte | SERP | 产品 | ❌ |
| 爬虫API | SERP,多种搜索类型 | 产品、搜索、优惠、评论(包括邮政编码) | 沃尔玛 |
| 刮狗 | SERP,搜索类型 | 产品,搜索(包括 ZIP) | LinkedIn、Twitter、Yelp、Indeed |
| Smartproxy | SERP、搜索类型、超本地搜索 | 搜索、产品、卖家、评论等(包括邮政编码) | ❌ |
| SOAX | SERP,搜索类型 | 搜索、产品、评论、问题 | 沃尔玛、所有主要搜索引擎和社交媒体平台 |
NetNut、Zyte——没有可用于测试产品的专用端点。
与前一年相比,我们看到一个有趣的趋势: 爬虫供应商一直在为其产品引入更多专用端点。一个例子是 ScraperAPI,它现在为亚马逊、谷歌和沃尔玛提供抓取工具。另一个是 Nimbleway – 供应商已着手构建所谓的 在线管道 针对各个垂直领域的目标。
考虑到语言学习模块(LLM)降低了数据解析的门槛,并且它们倾向于整合为一个功能全面的工具,这个发展方向很有意思。或许单一用途能够确保爬虫程序胜任这项任务?
数据解析是一些最令人兴奋的发展领域。当然, 这要归功于机器学习和大型语言模型。 但我们也看到了一些不太复杂的方法的变化:自我们上次报告以来, Oxylabs、ScraperAPI 和 Smartproxy 已全部实现对手动构建解析器的选择器支持。
| 手动解析 | 预制模板 | 其他 | |
| Bright Data | ❌ | 专用端点 | |
| Infatica | ❌ | 专用端点 | |
| Nimble | 选择 | 专用端点 | 自动解析、AI 解析器模式 |
| Oxylabs | 选择 | 专用端点 | AI 解析器模式 |
| Rayobyte | 选择 | 专用端点 | |
| 爬虫API | 选择 | 专用端点 | |
| 刮dog狗 | ❌ | 专用端点 | |
| Smartproxy | 选择 | 专用端点 | |
| SOAX | ❌ | 专用端点 | |
| 合特 | 选择 | 针对页面类型进行训练的模型 |
NetNut – 无法对所测试的产品进行数据解析。
让我们来探讨一下“其他”这一类别中几种不同的基于人工智能的解析方法。
#1. 针对特定页面类型训练的自定义机器学习模型。
Zyte多年来一直在尝试机器学习。他们没有解析单个目标,而是针对整个页面类别(例如产品、新闻、目录等)训练了多个内部模型。但缺点是,他们依赖于AI视觉,而这需要浏览器的支持。尽管如此,在大约一年前的会议上,Zyte还是吹嘘说,他们的产品比ChatGPT便宜几十倍,准确率也更高。
此后,Zyte 将模型适配到非渲染请求,显著降低了成本。它还在试验一些补充性的 LLM 功能。这些功能可以通过添加自定义数据点来增强模式的灵活性,还可以转换数据:例如,进行翻译、规范化、汇总等操作。
#2. 通用人工智能解析器。
与 Zyte 类似, Nimble 使用经过 HTML 训练的 AI 代理从各种页面类型中提取数据。与 Zyte 不同, 提供商根据页面自动选择相关代理,将决策过程保留在后端。
从某种程度上说,这简化了客户的工作。但同时也大大降低了可预测性(这个目标能用吗?结构是什么?)。在我们的测试中,我们发现这项功能经常出错:它能解析 Lowe's,但无法解析 Canadagoose 或 G2。我们相信它很快就会得到改进。
为了使代理更加健壮, Nimble 正在准备发布 生成自定义架构的能力。此功能将接受简单的、可能是自然语言的指令并将其翻译成解析器。据 Nimble的文档中,这些解析器将获得可重复使用的 ID,并在识别出故障后自动修复。
目前, Nimble的权宜之计将动态解析器与手动选择器结合起来 为该页面构建一个解析器。
#3. 根据要求生成 LLM 辅助解析器。
这是方法 Oxylabs 在最近的网络抓取会议上宣布。基本上, 你向 LLM 发送一个带有自然语言指令的 URL,然后它会生成一个模式和选择器来抓取数据点。您可以预览输出并根据需要调整架构。一旦您满意,选择器就会添加到 API 请求代码中。
Oxylabs' 方法是 高度务实,因为语言模型仅被调用一次,而不是每次访问页面时都调用。但是,它有局限性,即一旦解析器中断,您必须手动重复生成过程。
定价方法
我们将概述参与者的定价模型以及我们的基准成本。
请求、基于信用和黑盒模型
代理和网页抓取 API 的定价方式多种多样。前者主要以流量或请求数作为衡量标准,后者则根据请求成功次数收费,收费模式既可以很简单(一页网页 = 一次请求),也可以基于积分创建越来越复杂的方案。
Zyte 的模式更接近积分制,因为它包含影响最终价格的变量。但它的独特之处还在于,费用会随时间变化,具体取决于 Zyte 认为目标网站抓取难度的大小。据该服务商称,这些调整每季度进行一次,影响约 0.1% 的网站。然而,这种定价机制就像一个黑匣子。
| 型号 | 结构 | 价格范围 | 试用 | |
| Bright Data | 要求 | 现收现付,订阅 | $ 1-$ 2,000 | 公司7天 |
| Infatica | 短信额度 | 车辆订阅 | $ 25-$ 240 | 5k 需求,7 天 |
| 网络坚果 | 要求 | 车辆订阅 | 不公开 | 公司7天 |
| Nimble | 要求 | 现收现付,订阅 | $ 3-$ 3,000 | 可提供 |
| Oxylabs | 要求 | 车辆订阅 | $ 49-$ 2,000 | 5k 需求,7 天 |
| Rayobyte | 要求 | 现收现付制 | $1.8 | 每月 5k 免费请求 |
| 爬虫API | 短信额度 | 车辆订阅 | $ 49-$ 299 | 每月 1 免费积分,7 天试用 |
| 刮狗 | 短信额度 | 车辆订阅 | $ 40-$ 200 | 1 积分,30 天 |
| Smartproxy | 要求 | 车辆订阅 | $ 30-$ 500 | 1k 需求,7 天 |
| SOAX | 要求 | 车辆订阅 | $ 2.5-$ 2,200 | 可提供 |
| 合特 | 动态 | 现收现付,订阅 | $1-未指定 | 5 天 30 美元积分 |
该表提供了一些有趣的数据点:
- 爬虫供应商更喜欢试用,而不是按使用量付费。 只有 Scraping Robot 采用 PAYG 作为其唯一定价模式,而 Zyte 在 100 美元后开始需要承诺。此外,一些试用版会延长至每月更新的免费计划。
- 基于信用的定价通常针对需求较小的客户。 从公共计划的价格范围可以看出这一点。
价格调整
为了理解基于请求和基于信用的定价模型究竟如何比较,我们必须探索基本价格和可用的修饰符。
此 每千次展示费用为 100 美元 列显示 1,000 个请求的成本 花费 100 美元时 每位参与者。这可能对企业级供应商有点偏见,因为他们在 1,000 美元及以上时就开始扩大规模。
| 基本 CPM 为 100 美元 | 价格调整 | |
| Bright Data | $3 | 优质网站列表 (2x) |
| Infatica | $0.09 | JS 渲染 (10x)、电子商务和 SERP (10x)、JS + 电子商务/SERP (20x)、LinkedIn (130x) |
| Oxylabs | $1.80 | – |
| Nimble | $3 | – |
| Rayobyte | $1.80 | – |
| 爬虫API | $0.49 | 亚马逊 (5 倍)、SERP (30 倍)、社交 (30 倍)、 JS 渲染 (10x)、高级 IP (10x)、高级 IP + JS (30x)、超高级 IP (30x)、超高级 + JS (75x) |
| 刮狗 | $0.09 | Google (5x)、JS 渲染 (5x)、高级 IP (10x)、高级 + JS (25x)、LinkedIn (200x) |
| Smartproxy | $1 | – |
| SOAX | $2.50 | – |
| 合特 | 从澳元0.10 | 目标(最高 10 倍)、解析(最高 3 倍)、JS 渲染(最高 15 倍)、JS + 解析(最高 25 倍)、截图(最高 25 倍) |
NetNut——没有公开定价。
基于积分的定价模式可能存在高达数十倍甚至数百倍的乘数效应。这些变量相互影响:例如,您可以同时启用 JavaScript 渲染和更高质量的代理。从用户角度来看,这些选项的暴露可能会让人感到负担,因为您需要尝试不同的参数并注意积分成本。
话虽如此,对于不需要住宅代理或 JavaScript 渲染的基础网站来说,它们确实非常高效。低廉的入门价格也使得这些爬虫在营销材料中显得格外诱人。然而,对于像 G2 这样高难度的目标,你很可能会付出过高的价格。
基于请求的模式则面临相反的问题:如果目标客户不买账,成本就会非常高昂。但考虑到这些服务提供商通常面向企业客户,因此需要考虑其他因素,例如可扩展性和确保成功。
运行基准测试的成本
那么,完成全部 180,000 万个请求(10 * 6,000 * 3)总共花费了多少钱?图表显示的是总成本,采用的是最合适的方案的费率。
三位参与者未能持续解锁某些目标(至少 20% 的时间),并使用基于信用的定价。我们不想推测配置,因此我们从图表中排除了以下内容:
- Infatica: Canadagoose、G2、Lowe's、Safeway、沃尔玛。
- Scrapingdog: Allegro、Canadagoose、G2。
- 刮刀API: 快板,G2。
将鼠标悬停在标签上即可突出显示,单击即可过滤。
对于无需 JavaScript 渲染或数据解析的常规解锁, Zyte 提供了令人难以置信的价值 考虑到其性能结果。提供商的价格更接近入门级 API,例如 Infatica 和 Scrapingdog 比其优质竞争对手更胜一筹。
Smartproxy 和 Oxylabs 看起来也很引人注目,如果你需要无头浏览器或捆绑的解析功能,那就更是如此了。虽然这个 API 可能不是最有效的选择, ScraperAPI 针对亚马逊和沃尔玛的定价绝对值得关注.
结语
报告到此结束。考虑到可能很少有读者会读到这里,我们把总结放在了开头。既然您已经读到这里——感谢您坚持到最后!如果您有任何疑问,欢迎通过 [email protected] 或我们的Discord 服务器联系我们。