用途:通过 Woot 的公开评论 AJAX 路由采集 Amazon 美国站文字商品评论,无需 Amazon 登录、浏览器 Cookie、开发者密钥或付费抓取 API。
主要能力:
- 目标文件 config/amazon_targets.tsv 定义 asin、mode、lang、title,mode 分 basic(一次未过滤路由,约 100 条)、full(五个星级过滤,每星约 100 条)、max(五维星级×四种排序,精确去重,较慢且仍受可见结果上限约束)。
- 采集脚本保留每次尝试 JSON 与 stdout/stderr 日志,并发上限 2,对超时/HTTP 错误退避重试;将 stderr 含 Error (filter= 视为部分运行标记,即使退出码为 0;无采集行的失败标为 failed,成功但无可见评论标为 complete_no_reviews。
- 汇合所有可解析尝试并精确去重,写出 acquisition_manifest.json 及各目标 reconciled ASIN_mode.json。失败尝试不得删除,属于证据。
必要用法: python3 scripts/run_batch.py --targets config/amazon_targets.tsv --run-dir work/amazon/2026-07-25 --attempts 3 --workers 2 python3 scripts/normalize_reviews.py --run-dir work/amazon/2026-07-25 --targets config/amazon_targets.tsv --output data/raw/amazon_woot_2026-07-25.jsonl --summary work/amazon/2026-07-25/normalize_summary.json 可用 --keywords keywords.txt 添加字面命中标签。
质量规则:原样保留 Title/Text,text_raw 直接拼接不翻译;因常返回 Id=null,以 author+title+body 构建 SHA-256 内容键;解析 OriginDescription 中的人类可读日期,未经验证不采信类 epoch 的 SubmissionDate;跨 ASIN 变体合并同一内容并在 context.asins 保留全部 ASIN;保留星级、有用票、认证购买、Vine、媒体 URL;跳过并统计空正文,不捏造 ID、日期、作者或评论总数;记录模式、尝试健康、输入行、唯一行、重复、解析失败及每 ASIN 计数;大批量前先验证一个活动 ASIN,模式变化应停止检查而非输出空的成功文件。
适用场景:多平台 VOC 项目中的 Amazon 评论采集层,落点 config/amazon_targets.tsv → work/amazon/<run-date>/ → data/raw/amazon_woot_<date>.jsonl,可与 bggg-data-reddit、bggg-data-x、bggg-voc-report、industry-orchestrator 共用同项目目录。
限制:仅覆盖 Amazon 美国站文字评论,无仅星级评分;各过滤/排序组合通常仅约 100 条可见窗口,五星期高量桶在 max 模式下仍可能被截断;精确去重可能合并联合变体评论,需保留 ASIN 列表保证可审计;Woot 路由公开但不保证完整性,结果应描述为已采集文字评论而非全部买家评分;有效 ASIN 仍可能经 Woot 不可用,其 HTTP 404 应视为不支持的目标,而非路由全局不可用。