endpoint 参数即可使用 webhook 投递,或一次性配置云端目标,让每个任务自动写入。所有抓取器的配置方式完全相同,只有 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:- 在浏览器中打开 webhook.site
- 复制页面显示的专属 URL(例如
https://webhook.site/abc-123-def) - 保持页面开启以监控收到的请求
步骤 2:使用 webhook URL 触发采集
在异步/trigger 请求中添加 endpoint 查询参数:
步骤 3:验证投递
采集完成后(少量记录通常需 30 到 60 秒),查看您的 webhook.site 页面,应能看到一条包含抓取数据的POST 请求。
该负载与直接通过 API 下载得到的 JSON 数组相同:
如何在生产环境中处理 webhook
在生产环境中,请将endpoint URL 指向您自己的服务器端点。
server.js
server.py
如何为 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:配置投递目标
- 进入您的抓取器配置页
- 点击 Delivery settings 标签页
- 选择 Amazon S3 作为投递目标
- 填写您的凭据:
- Bucket name:您的 S3 存储桶名称
- Role ARN:步骤 1 中创建的 IAM 角色 ARN
- Region:您的 S3 存储桶所在区域
- Path prefix(可选):存储桶内的文件夹路径(例如
linkedin/profiles/)
- 选择所需的文件格式(JSON、NDJSON 或 CSV)
- 点击 Save
步骤 3:触发采集
按常规方式触发异步采集,无需额外参数,结果会自动投递到您的 S3 存储桶:步骤 4:验证投递
采集完成后,检查您的 S3 存储桶中是否已生成文件:s_m1a2b3c4d5e6f7g8h.json)。下载并查看:
故障排除
Webhook 收不到数据?
Webhook 收不到数据?
- 确认该 URL 可公开访问(不能是
localhost) - 确认您的端点在 30 秒内返回
200状态码 - 如果有防火墙规则,请确认上述 14 个 webhook IP 已加入允许列表
收到的是压缩数据?
收到的是压缩数据?
若省略
uncompressed_webhook=true,数据将以 gzip 压缩形式送达。请在触发 URL 中添加 uncompressed_webhook=true,或在服务器端解压负载。负载超出服务器处理能力?
负载超出服务器处理能力?
大型采集的负载最高可达 1 GB。请在 Express.js 中设置
express.json({ limit: "100mb" }),或在您所用框架中做等效配置。对于超大数据集,请改用 S3 投递。S3 中没有出现文件?
S3 中没有出现文件?
- 确认 IAM 角色 ARN 和外部 ID 正确
- 确认存储桶策略允许来自 Bright Data 账户的
s3:PutObject - 确认存储桶区域与配置一致
- 在 Bright Data 控制面板的 Logs 中查看投递状态
S3 出现 Access denied 错误?
S3 出现 Access denied 错误?
请确认 IAM 角色的信任策略包含 Bright Data 账户(
422310177405),且外部 ID 与您的 Bright Data 客户 ID 一致,可在账户设置中查看。常见问题
各平台的投递配置有区别吗?
没有区别。所有 Bright Data 抓取器的 webhook 参数和云端目标配置完全相同,只有触发请求中的dataset_id 不同。
可以同时使用 webhook 和云存储吗?
可以。云端投递在控制面板中按抓取器配置,而endpoint 参数按请求设置,因此单个任务可同时使用两者。
任务完成时我的 webhook 不可用会怎样?
Bright Data 会重试投递。如果您的端点持续不可用,可使用触发调用返回的snapshot_id 直接下载快照,快照保留 30 天。