Skip to main content
Bright Data Scraper API 任务可将结果直接推送到您的基础设施,无需等待您手动下载。添加 endpoint 参数即可使用 webhook 投递,或一次性配置云端目标,让每个任务自动写入。所有抓取器的配置方式完全相同,只有 dataset_id 不同。
示例使用 LinkedIn 个人资料抓取器(gd_l1viktl72bvl7bjuj0)。请从异步请求页的对照表中替换为您所用平台的 dataset_id

先决条件

  • 拥有有效 API 密钥的 Bright Data 账户
  • 熟悉异步请求流程
  • 使用 webhook 时,需要一个可公开访问的 HTTPS 端点(或 webhook.site 等测试工具)
  • 使用 S3 时,需要一个 Amazon S3 存储桶以及创建 IAM 角色的权限

我应该选择哪种投递方式?

如何将结果投递到 webhook

当您在触发异步采集时提供 endpoint URL,任务完成后 Bright Data 会向该 URL 发送包含抓取数据的 POST 请求,无需轮询。

步骤 1:设置测试 webhook

测试时,可使用 webhook.site 获取临时公开 URL:
  1. 在浏览器中打开 webhook.site
  2. 复制页面显示的专属 URL(例如 https://webhook.site/abc-123-def
  3. 保持页面开启以监控收到的请求

步骤 2:使用 webhook URL 触发采集

在异步 /trigger 请求中添加 endpoint 查询参数:
关键参数:

步骤 3:验证投递

采集完成后(少量记录通常需 30 到 60 秒),查看您的 webhook.site 页面,应能看到一条包含抓取数据的 POST 请求。 该负载与直接通过 API 下载得到的 JSON 数组相同:

如何在生产环境中处理 webhook

在生产环境中,请将 endpoint URL 指向您自己的服务器端点。
server.js
server.py
请在 30 秒内返回 200 状态码以确认接收。如果您的端点失败或超时,Bright Data 会重试投递。

如何为 webhook 投递添加鉴权

如果您的端点需要鉴权,请添加 webhook_header_Authorization 参数:

webhook 来自哪些 IP?

如果您的服务器使用 IP 允许列表,请添加以下 14 个 Bright Data webhook 源 IP:

如何将结果投递到 Amazon S3

S3 投递在控制面板中按抓取器一次性配置。配置完成后,每个任务都会自动将结果写入您的存储桶。

步骤 1:创建 IAM 角色

Bright Data 通过在您的 AWS 账户中扮演角色来写入存储桶。请创建一个信任 Bright Data 账户 422310177405 的角色,将您的 Bright Data 客户 ID 作为外部 ID,并授予该角色对存储桶的 s3:PutObject 权限。 完整的策略与信任关系 JSON 见投递选项

步骤 2:配置投递目标

  1. 进入您的抓取器配置页
  2. 点击 Delivery settings 标签页
  3. 选择 Amazon S3 作为投递目标
  4. 填写您的凭据:
    • Bucket name:您的 S3 存储桶名称
    • Role ARN:步骤 1 中创建的 IAM 角色 ARN
    • Region:您的 S3 存储桶所在区域
    • Path prefix(可选):存储桶内的文件夹路径(例如 linkedin/profiles/
  5. 选择所需的文件格式(JSON、NDJSON 或 CSV)
  6. 点击 Save

步骤 3:触发采集

按常规方式触发异步采集,无需额外参数,结果会自动投递到您的 S3 存储桶:

步骤 4:验证投递

采集完成后,检查您的 S3 存储桶中是否已生成文件:
您应能看到以快照 ID 命名的文件(例如 s_m1a2b3c4d5e6f7g8h.json)。下载并查看:
您也可以使用 Monitor Delivery API 查看投递状态。

故障排除

  • 确认该 URL 可公开访问(不能是 localhost
  • 确认您的端点在 30 秒内返回 200 状态码
  • 如果有防火墙规则,请确认上述 14 个 webhook IP 已加入允许列表
若省略 uncompressed_webhook=true,数据将以 gzip 压缩形式送达。请在触发 URL 中添加 uncompressed_webhook=true,或在服务器端解压负载。
大型采集的负载最高可达 1 GB。请在 Express.js 中设置 express.json({ limit: "100mb" }),或在您所用框架中做等效配置。对于超大数据集,请改用 S3 投递。
  • 确认 IAM 角色 ARN 和外部 ID 正确
  • 确认存储桶策略允许来自 Bright Data 账户的 s3:PutObject
  • 确认存储桶区域与配置一致
  • 在 Bright Data 控制面板的 Logs 中查看投递状态
请确认 IAM 角色的信任策略包含 Bright Data 账户(422310177405),且外部 ID 与您的 Bright Data 客户 ID 一致,可在账户设置中查看。

常见问题

各平台的投递配置有区别吗?

没有区别。所有 Bright Data 抓取器的 webhook 参数和云端目标配置完全相同,只有触发请求中的 dataset_id 不同。

可以同时使用 webhook 和云存储吗?

可以。云端投递在控制面板中按抓取器配置,而 endpoint 参数按请求设置,因此单个任务可同时使用两者。

任务完成时我的 webhook 不可用会怎样?

Bright Data 会重试投递。如果您的端点持续不可用,可使用触发调用返回的 snapshot_id 直接下载快照,快照保留 30 天。

相关内容