Skip to main content
本页解释每个 Bright Data API 都要求您做出的一个选择:在同一个 HTTP 响应中等待结果,还是提交任务稍后再取结果。内容涵盖 Scraper API、Web Unlocker API 和 SERP API 各自如何实现这两种模式、何时选择哪种,以及各自的取舍。

什么是同步和异步请求

同步请求会保持连接直到结果到达,通常只需几秒。一个请求对应一个响应,无需跟踪其他内容。 异步请求会立即返回一个 ID,工作在后台继续。您稍后通过轮询取回结果,或让 Bright Data 推送到 webhook 或存储。没有任何操作在等待打开的连接,因此您可以在一分钟内提交数千个任务,待其就绪后再处理。

各 API 如何实现这两种模式

何时使用哪种模式

在以下情况使用同步请求:
  • 您在服务正在等待的实时用户,例如”立即查看该商品”按钮或屏幕上的搜索结果。
  • 您需要在几秒内获得少量输入的结果。在 Scraper API 中,这意味着少量 URL。
  • 您在做原型,希望集成尽可能简单。
在以下情况使用异步请求:
  • 您运行定时任务:每晚的竞品监控、每周的排名跟踪。
  • 您的抓取量较大,每小时数百次请求以上,或 URL 数量超过一次同步调用所能容纳的。
  • 您在 Scraper API 上运行发现任务:按关键词搜索、按公司查找帖子。
  • 您希望结果投递到 webhook、S3、Snowflake 或其他存储。
  • 您在构建数据管道,几分钟内的新鲜度即可接受,并希望减少重试。
不要在有人正在等待的功能中使用异步。异步延迟至少为几分钟,在 Web Unlocker API 和 SERP API 上高峰期最长可达 8 小时。
一个电商团队用异步在夜间抓取 50,000 条竞品价格供早间报告使用,而购物者点击查看单个商品的按钮则使用同步。

Scraper API 的流程

同步:
整个操作是一个 HTTP 请求。如果抓取超过 1 分钟,API 返回 HTTP 202 和 snapshot_id,并以异步方式完成任务;数据仍会被采集,您像取回异步任务那样取回即可。调用 /scrape 的代码必须根据状态码分支处理。分支和轮询循环见如何处理 202 响应 异步:
取回结果有三种方式:轮询 GET /datasets/v3/progress/{snapshot_id} 并通过 GET /datasets/v3/snapshot/{snapshot_id} 下载;在触发请求中传入 endpoint,由 Bright Data 将记录 POST 到您的 URL;或设置存储目标,让文件落入您的存储桶。投递目标见如何投递结果

Web Unlocker API 和 SERP API 的流程

异步请求立即返回 x-response-id;结果稍后通过轮询取回或由 webhook 投递 请求立即返回 x-response-id 标头。计费发生在提交时,取回结果不计费,结果保留 48 小时。在任务完成前轮询会返回 202。按请求或在区域设置中配置 webhook_url,结果就绪时 Bright Data 会从 IP 100.27.150.18918.214.10.85 POST 一条通知;请将这两个 IP 加入白名单,否则防火墙可能拦截。一个区域要么是同步要么是异步,两者都需要时请各保留一个区域。
在 SERP API 上每次轮询都会计量。请使用 webhook,或每分钟最多轮询一次。

有哪些取舍

常见误解

异步总是比同步快

对于少量输入,同步更快:抓取开始前没有排队步骤。小型实时查询请使用同步。

同步请求耗时过长会失败

不会失败。在 Scraper API 上,超过 1 分钟的同步请求返回 HTTP 202 和 snapshot_id,任务继续;在 Web Unlocker API 和 SERP API 上,同步请求会保持连接直到结果到达。

常见问题

可以在同一应用中混合使用同步和异步吗?

可以。大多数应用对面向用户的查询使用同步,对批量任务使用异步。在 Web Unlocker API 和 SERP API 上,这意味着一个同步区域加一个异步区域。

同步和异步之间有成本差异吗?

没有。无论哪种模式,Scraper API 按成功记录计费,Web Unlocker API 和 SERP API 按请求计费。取回异步结果免费。

结果就绪时我的 webhook 宕机了怎么办?

当您的端点返回非 200 状态或超时时,Scraper API 会重试 webhook 投递。若需可靠投递,请改用存储目标。

丢失了响应 ID 或快照 ID 怎么办?

Web Unlocker API 或 SERP API 的响应 ID 无法找回,因此提交时请将其与请求元数据一起保存。Scraper API 的快照 ID 可通过获取快照在 30 天内列出。

后续步骤

使用异步请求批量抓取

触发、监控和下载 Scraper API 批量任务。

投递结果

Webhook、S3、Google Cloud、Azure、SFTP 和 Snowflake。

SERP API 异步请求

搜索结果的异步区域、轮询和 webhook IP。

Web Unlocker API 异步请求

解锁请求的异步形式。