先决条件
- 一个Bright Data账户,配有有效的API密钥
- 熟悉异步请求工作流
- 一个可公开访问的HTTP端点(或使用测试工具如webhook.site)
Webhook如何工作
当您触发带有endpoint URL的异步集合时,Bright Data会在任务完成后向您的端点发送一个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指向您自己的服务器端点。
Express.js处理程序
server.js
Flask处理程序
server.py
带授权的Webhook
如果您的端点需要身份验证,添加webhook_header_Authorization参数:
允许列表webhook IP
如果您的服务器使用IP允许列表,请添加以下Bright Data webhook源IP:故障排除
Webhook未接收数据?
Webhook未接收数据?
- 验证URL是否可公开访问(不是
localhost) - 检查您的端点是否在30秒内返回
200状态码 - 如果您有防火墙规则,验证上述webhook IP是否在允许列表中
接收压缩数据?
接收压缩数据?
如果您省略
uncompressed_webhook=true,数据将以gzip压缩格式到达。将uncompressed_webhook=true添加到您的触发URL,或在您的服务器上解压负载。负载对您���服务器来说太大?
负载对您���服务器来说太大?
大型集合可能会产生高达1 GB的负载。在Express.js中设置
express.json({ limit: "100mb" })或在您的框架中设置等效配置。如果您需要处理非常大的数据集,改用S3交付。后续步骤
交付到Amazon S3
直接在您的S3存储桶中存储结果。
所有交付选项
Snowflake、Azure、GCS等。