用 Bright Data Scraper API 采集 Amazon 产品数据的完整代码
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 | ||
| 8 天前 |
Bright Data Firehose 实战项目
每天 10 亿条实时网页数据流接入指南 — 从 Firehose 到 AI 训练管道 & 电商价格监控
项目简介
本项目演示如何接入 Bright Data Data Firehose — 一条持续流动的实时公开网页数据管道,将采集完成的瞬间自动推送到你的 S3 / Webhook。
核心数据规模:
- 每日数据量:约 10 亿条记录
- 每日数据体积:约 350TB
- 每日新增文本 Token:5T+
- Web Archive 历史存量:90PB+,6240 亿+历史页面
文件结构
brightdata-firehose-demo/
├── README.md # 本文件
├── requirements.txt # Python 依赖
├── .env.example # 环境变量模板(复制为 .env)
├── firehose_config_template.json # Firehose 过滤条件配置模板
├── src/
│ ├── firehose_s3_consumer.py # S3 消费脚本(从 S3 读取 Firehose 数据)
│ ├── firehose_webhook_receiver.py # Webhook 接收端(Flask 实时接收)
│ ├── price_alert_pipeline.py # 电商价格监控 + 告警 Pipeline
│ └── llm_data_pipeline.py # LLM 训练数据处理 Pipeline
└── docs/
└── architecture.md # 架构流程图
快速开始
1. 安装依赖
pip install -r requirements.txt
2. 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的 AWS S3 凭证和配置
3. 配置 Firehose 过滤条件
编辑 firehose_config_template.json,定义你要采集的域名、语言、地区等过滤条件,然后联系 Bright Data 支持团队完成 Firehose 开通。
注意:Data Firehose 需要联系销售配置,不能自助注册即用。 联系专家:https://brightdata.com/products/data-firehose
4. 运行
场景一:LLM 训练数据持续更新
# 从 S3 读取最近 24 小时的数据,处理为 Hugging Face Dataset
python src/llm_data_pipeline.py \
--bucket your-s3-bucket \
--prefix firehose/llm-training/ \
--hours 24 \
--output llm_dataset
# 推送到 Hugging Face Hub(需配置 huggingface token)
python src/llm_data_pipeline.py \
--bucket your-s3-bucket \
--hours 24 \
--push-to-hub \
--repo-id your-username/firehose-llm-dataset
场景二:电商价格实时监控
# S3 批量模式:每小时读取最新数据并检查价格告警
python src/price_alert_pipeline.py --mode s3 --bucket your-s3-bucket --hours 1
# Webhook 实时模式:毫秒级接收价格变动
python src/price_alert_pipeline.py --mode webhook
通用:从 S3 消费数据
python src/firehose_s3_consumer.py
Firehose 定价
| 类型 | 价格 | 说明 |
|---|---|---|
| Data Firehose(24h 新鲜数据) | $0.2 / 1,000 条 HTML | 约 1 小时内交付 |
| Web Archive(24h 以上历史数据) | $1 / 1,000 条 HTML | 2 天内交付 |
| 大规模用量 | 可申请 Volume Discount | 长期合同另议 |
| AWS Marketplace | 支持 | 可用 AWS 额度支付 |
三产品对比
| 产品 | 模式 | 比喻 | 适合场景 |
|---|---|---|---|
| Scraper API | 按需拉取 (Pull) | 口渴了去倒水 | 需要某个具体页面的数据 |
| Datasets | 批量下载 (Batch) | 买一桶矿泉水 | 需要一次性大量历史数据 |
| Data Firehose | 持续推送 (Push) | 接上自来水管,24h 不停流 | 需要持续、实时、大规模的网页数据流 |
相关链接
- Firehose 产品页:https://brightdata.com/products/data-firehose
- 定价页:https://brightdata.com/pricing/archive-api
- Talk to a Data Expert:https://brightdata.com/products/data-firehose
- Bright Data GitHub (MCP):https://github.com/brightdata/brightdata-mcp
- Web Scraper API:https://brightdata.com/products/web-scraper
环境要求
- Python 3.10+
- AWS 账号(S3 存储)
- Bright Data Firehose 订阅(联系销售开通)
安全说明
- 所有 API Key 在代码中使用占位符
YOUR_BRIGHTDATA_API_KEY .env文件不应提交到版本控制(已加入 .gitignore 建议)- Webhook 端点建议增加认证(API Key / HMAC 签名校验)
License
MIT