Zyte 是网络抓取领域最成熟的名字之一。它脱胎于 Scrapinghub,也就是开源爬取框架 Scrapy 背后的公司,而 Python 抓取世界的很大一部分仍在运行 Scrapy。Zyte 将这份传承与一个智能代理层以及一个可以渲染页面并自动提取结构化数据的 API 结合在一起。如果你有 Scrapy 背景,Zyte 用起来会有种回家的感觉。

那么,为什么团队会寻找替代方案呢?通常是出于直接、中立的原因:他们想要更简单的按成功请求计费定价、更慷慨的免费起点来做原型,或者他们不想把自己的技术栈绑定在某一个框架上。本文公平地比较 Zyte 和 Crawlbase,聚焦于真正决定选择的维度,并包含一节关于 Zyte 是更好选择的情况,因为对某些团队来说确实如此。

快速概览:Zyte 与 Crawlbase

Zyte 是一个有着深厚根基的成熟抓取平台。其 Zyte API 将代理轮换、会话处理和无头浏览器渲染集成在单一端点后面,并叠加了可以将产品、文章或招聘信息提取为结构化字段而无需你编写选择器的自动提取功能。加上用于部署和调度爬虫的 Scrapy Cloud,以及托管数据馈送,你便拥有了一个围绕 Zyte 自己团队所维护的框架构建的生态系统。对于 Scrapy 重度用户来说,这种集成是真实的优势。

Crawlbase 是一个围绕一小套专注产品构建的托管抓取服务:用于获取完整页面的 Crawling API、用于只需轮换时的 Smart AI Proxy、自动解析常见网站的 Scraper API、用于大型任务的异步 Crawler,以及 Cloud Storage。它与框架无关,因此可以通过普通 HTTP 接入任何语言或技术栈,其计费模型围绕只为成功请求付费来构建。Zyte 依赖其 Scrapy 生态系统和预构建的提取功能,而 Crawlbase 则依赖一种简单的"请求进,数据出"模型,你可以将其接入任何已有的系统。

Zyte 与 Crawlbase 一览

以下是两者在通常决定选择的维度上的对比。将其视为一个起始框架,而非计分板:哪些行重要,完全取决于你的目标和你的团队。

维度 Zyte Crawlbase
核心模式 API 加 Scrapy 生态系统和托管数据馈送 托管 API 加 Smart AI Proxy,请求进,数据出
设置与技术栈契合度 与 Scrapy 配合最佳;平台内容丰富,需要学习 通过普通 HTTP 与任何语言无缝集成
JavaScript 渲染 API 上提供无头浏览器 在 Crawling API 上按请求切换渲染
代理与 CAPTCHA 处理 内置智能代理管理 内置轮换和 CAPTCHA 处理,大型 IP 池
数据输出 支持页面类型的自动提取 通过 Scraper API 对常见网站自动解析
规模 API 支持高并发;Scrapy Cloud 用于爬虫调度 Async Crawler 用于大型异步批量任务
定价模型 分级用量计费;请查看 Zyte 当前定价 只为成功请求付费;查看定价
免费起点 提供免费积分用于评估 1,000 次免费请求,无需信用卡

以下大多数内容都是对这张表的展开。通过你自己的工作负载视角来阅读每一项,而不是数胜负。

易用性与技术栈契合度

两个工具针对不同的出发点进行了优化。Zyte 在 Scrapy 世界中表现最佳:如果你的爬虫已经是 Scrapy 蜘蛛,Zyte 的 API、中间件和 Scrapy Cloud 可以干净地接入,而且自动提取功能让你无需为常见页面类型手写选择器。代价是当你采用周边生态系统时才能获得最大价值,而这是一个需要学习和运营的更丰富的平面。

Crawlbase 针对相反的情况进行了优化:你拥有一个用任何语言编写的现有技术栈,希望抓取只是一次 HTTP 调用。你向 Crawling API 发送一个 URL,页面就返回了,轮换、渲染和封锁处理都在服务端完成。没有需要采用的框架,也没有需要部署的东西,这使得从注册到首个真实结果的时间很短。如果你不是 Scrapy 团队,这条框架中立的路径通常是更轻便的那条。关于托管 API 为什么能胜过自己组装机制的更广泛论述,请参阅如何评估 Crawlbase 与竞品

定价模型,而非标价

价格会变化,我们无法核实竞争对手的当前数字,所以比较模型而非美元数字,并在承诺之前查看每家供应商的实时定价页面。Zyte 使用分级的基于用量的定价,某些功能(如浏览器渲染或自动提取)可能影响给定请求的成本,所以准确为 Zyte 制定预算的方式是将你真实的请求类型混合映射到其当前费率卡上。

Crawlbase 使用一个简单的理念:你只为成功的请求付费。一次成功的请求是一个交付的页面,无论是普通 HTML 还是 JavaScript 渲染的结果;失败和被封锁的请求不计费。JavaScript 渲染的请求消耗的积分多于普通请求,所以你的成本与你实际需要的渲染量挂钩。计费按月或按年,按年有折扣,订阅无需承诺,随时可以取消。实时的层级数字在定价页面上。比较两者的诚实方式是在你的真实工作负载上运行每个供应商(包括重试),并换算为你自己目标上每次成功页面的成本。

如何公平地比较成本

不要比较标题层级。取一个有代表性的真实目标切片,通过两个供应商运行,只统计你实际拿回来的页面,然后除以支出。在你的网站上每次成功页面成本更低的供应商,对你来说就是更便宜的那个,无论哪个费率卡乍一看更低。

可靠性与渲染

两个平台都是为突破现代反爬虫防御而构建的,当目标需要浏览器来组装数据时,两者都可以渲染 JavaScript。Zyte 的代理管理和浏览器渲染成熟且有良好文档,其自动提取功能意味着对于支持的页面类型,你通常可以完全跳过解析环节。Crawlbase 在服务端处理轮换和 CAPTCHA,在后台重试被封锁的请求,并允许你按请求切换 JavaScript 渲染,使你只在需要的地方支付渲染溢价。Crawlbase 自己公布的数据引用了接近 99% 成功率和每秒约 20 次请求的数字;将其视为供应商声明的数字,并在你自己最难的目标上验证,就像你应该对任何供应商做的那样。

对于只有在脚本运行后才组装内容的目标,渲染就是工作的大部分,两个工具都能满足。对于静态页面,为浏览器付费是浪费,所以有用的问题是你是否可以按请求开关渲染。如果你想了解页面为什么会被封锁以及渲染在其中的作用,请参阅不被封锁地抓取爬取 JavaScript 网站

Crawlbase Crawling API

如果你追求的是与框架无关的"请求进,数据出"路径,Crawling API 是一个端点,它轮换 IP、在页面需要时渲染 JavaScript、处理 CAPTCHA、在服务端重试封锁,然后返回完成的页面。你只为成功的请求付费,其中 1,000 次是免费的且无需信用卡,所以你可以将其指向你最难的目标并在决定之前读取结果。

规模

抓取几千个页面与每月运行数百万次是不同的问题,两个工具都是为高容量端而构建的。Zyte 的 API 处理大量请求,其企业计划增加了更高的并发、承诺定价和高级支持;Scrapy Cloud 给你一个托管的地方来调度和监控爬虫,如果你的爬虫已经在 Scrapy 中运行,这是有价值的。Crawlbase 的异步 Crawler 从另一个方向为相同的规模而构建:你异步提交任务并并行处理批次,而不是等一批完成再启动下一批,这使大型管道保持流动。Crawlbase Cloud Storage 增加了最多 10,000 个文档、14 天保留期的免费层用于暂存结果。两者都能承载大体量;区别在于你是否想要在生态系统内调度爬虫(Zyte),还是通过 HTTP 调用的异步任务模型(Crawlbase)。

Zyte 是更好选择的情况

公平的比较必须说明另一个工具胜出的地方,而对于 Zyte,确实存在几种真实的情况。

你在 Scrapy 上有深厚投入。如果你的爬虫已经是 Scrapy 蜘蛛,有中间件、项目管道和积累的项目结构,Zyte 是它们的自然归宿。其 API 和 Scrapy Cloud 由维护该框架的人构建,所以集成比将相同的蜘蛛路由通过通用 HTTP API 更紧密。为了切换接口而抛弃这些,很少会有回报。

你想要 Zyte 的自动提取功能。对于支持的页面类型,Zyte 的自动提取功能无需你编写或维护选择器即可返回结构化字段。如果你的目标完全落入它处理良好的类别,这可以减少相当数量的解析和维护工作,而且这是你围绕其构建工作流而非事后加装的功能。

你依赖托管数据馈送或现有管道。如果你已经在使用 Zyte 的托管数据集,或者你的生产管道、监控和合同都建立在其平台上,切换成本是真实的,而连续性是有价值的。一个已经接入你的运营和团队习惯的工具价值巨大,这是继续使用的合理理由。

选择合适的方案

选择与其说是关于哪个工具在抽象意义上更好,不如说是关于你从哪里出发。如果你的抓取工作在 Scrapy 中,或者你依赖 Zyte 的自动提取和托管馈送,Zyte 的生态系统是一个强大、连贯的选择,没有多少理由迁移。如果你反而想要一个可以接入任何技术栈的与框架无关的 API、只为成功请求付费的计费方式,以及一个慷慨的免费起点来做原型,Crawlbase 是更轻便的路径,尤其对于那些不愿意为了做抓取而采用某个框架的团队来说。

诚实的测试只需要一个下午:用你的真实目标的代表性切片运行两者,只统计你拿回来的页面,并读取你自己网站上每次成功页面的成本和数据质量。这告诉你的信息,比任何功能表格(包括这张)都要多。对于更广泛的视野,请参阅我们的最佳网络爬虫 API 评选和一篇兄弟比较,ScrapingBee 替代方案指南

回顾

核心要点

  • Zyte 是一个成熟的、以 Scrapy 为根基的平台。由 Scrapy 的维护者构建,拥有智能代理 API、自动提取、Scrapy Cloud 和托管数据馈送。
  • Crawlbase 是一个与框架无关的托管 API。通过普通 HTTP 实现请求进、数据出,内置轮换、渲染和 CAPTCHA 处理,支持任何语言。
  • 比较定价模型,而非标价。Zyte 使用分级的基于用量的定价;Crawlbase 只对成功请求收费。查看每个实时定价页面,并在你自己的目标上衡量每次成功页面的成本。
  • 两者都可以扩展并渲染。每个都处理高容量和 JavaScript;区别在于是在生态系统内调度爬虫还是异步 HTTP 任务模型。
  • 对某些团队来说 Zyte 是更好的选择。在 Scrapy 上的深厚投入、对其自动提取的依赖,或现有管道和馈送,都是继续使用 Zyte 的真实理由。

常见问题

Crawlbase 是 Zyte 的好替代方案吗?

对于想要与框架无关的 API 而非以 Scrapy 为中心的平台的团队来说,它是一个强力选择。Crawlbase 通过普通 HTTP 提供完整的页面,内置轮换、渲染和 CAPTCHA 处理,且只对成功请求收费。如果你的抓取在 Scrapy 中根基深厚,或者依赖 Zyte 的自动提取,Zyte 可能仍是更好的选择;最干净的决策方式是在你的真实目标上同时试用两者。

Zyte 最出名的是什么?

Zyte 最出名的是作为 Scrapy 背后的公司,Scrapy 是被广泛使用的开源 Python 抓取框架,最初作为 Scrapinghub 运营。它将这份传承与智能代理和 API、常见页面类型的自动提取、用于部署爬虫的 Scrapy Cloud 以及托管数据馈送结合在一起。这个生态系统使其对爬虫已在 Scrapy 上运行的团队尤其强大。

Zyte 和 Crawlbase 在定价上有何不同?

它们使用不同的模型,且确切数字会发生变化,所以请查看每家供应商的当前定价页面。Zyte 使用分级的基于用量的定价,渲染或提取等功能可能影响请求成本。Crawlbase 只对成功请求收费,JavaScript 渲染请求比普通请求消耗更多积分,按月或按年计费,无需承诺。通过在你自己的工作负载(包括重试)上的每次成功页面成本来比较它们。

Crawlbase 支持 JavaScript 密集型网站吗?

支持。Crawling API 可以按请求渲染 JavaScript,所以只有在脚本运行后才组装数据的页面会以完整构建的形式返回。由于渲染是按请求的,你只在目标实际需要浏览器的地方支付更高的渲染成本,静态页面保持在更便宜的普通 HTML 路径上。

使用 Crawlbase 需要用 Scrapy 吗?

不需要。Crawlbase 与框架无关,通过普通 HTTP 工作,所以你可以从任何语言或任何现有技术栈调用它,无需采用特定框架。这是那些不在 Scrapy 上的团队选择它的主要原因之一。如果你深度绑定在 Scrapy 上,Zyte 与该框架更紧密的集成可能更适合你。

如何测试哪个工具适合我的项目?

从两者的免费起点开始,取一批有代表性的真实目标网站样本,通过每个供应商运行相同的工作负载。只统计你实际收到的页面,衡量数据质量和每次成功页面的成本,并在你自己的目标上进行比较,而非依据公布的数字。在你真实网站上测量一个下午告诉你的,比任何功能比较都要多。

开始构建

大规模爬取任何站点,无需与基础设施对抗。

Crawlbase 负责处理代理、指纹和 CAPTCHA,让你的团队专注于交付数据流水线,而非维护爬取管道。1,000 次请求免费,无需信用卡。

自助开通 · 无需销售通话 · 提供企业级爬取量