Install
openclaw skills install @bettermen/amazon-review-analyzer输入ASIN,自动抓取数百条评论,AI逐条深度打标,生成痛点/卖点/Listing优化洞察报告。支持RapidAPI数据采集、OpenAI/DeepSeek兼容API、交互式HTML报告输出。
openclaw skills install @bettermen/amazon-review-analyzer输入一个Amazon ASIN,5-10分钟内给你一份能直接用的洞察报告——痛点、卖点、Listing怎么改,全在里面。
pip install -r ~/.workbuddy/skills/amazon-review-analyzer/requirements.txt
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/demo.py
这会生成一个示例HTML报告,让你快速了解报告包含哪些内容。
LLM API(必填):用于AI打标,支持任何兼容OpenAI API格式的模型。
# OpenAI(推荐gpt-4o-mini,性价比高)
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/analyze.py \
--asin B08N5WRWNW \
--api-key YOUR_OPENAI_KEY
# DeepSeek(国内推荐,便宜)
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/analyze.py \
--asin B08N5WRWNW \
--api-key YOUR_DEEPSEEK_KEY \
--api-base https://api.deepseek.com/v1 \
--model deepseek-chat
RapidAPI Key(可选):用于获取真实评论数据。如未配置,则使用模拟数据。
# 获取RapidAPI Key:
# 1. 访问 https://rapidapi.com/hub/amazon
# 2. 订阅 "Amazon Products and Reviews" API
# 3. 复制API Key,通过 --rapidapi-key 参数传入
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/analyze.py \
--asin B08N5WRWNW \
--api-key YOUR_OPENAI_KEY \
--rapidapi-key YOUR_RAPIDAPI_KEY
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
--asin | ✅ | - | Amazon ASIN(产品ID) |
--market | ❌ | US | 市场区域:US/UK/DE/JP/FR/CA/IT/ES |
--max-reviews | ❌ | 500 | 最大评论数量(建议500-1000) |
--api-key | ✅ | - | LLM API Key(OpenAI/DeepSeek/其他兼容API) |
--api-base | ❌ | https://api.openai.com/v1 | API Base URL |
--model | ❌ | gpt-4o-mini | 模型名称 |
--output | ❌ | ./review_analysis_{ASIN}.html | 输出报告路径 |
--rapidapi-key | ❌ | 内置免费Key | RapidAPI Key(可选,内置有免费额度) |
生成的HTML报告包含以下板块:
支持任何兼容OpenAI API格式的模型:
OpenAI
--api-key sk-xxx --api-base https://api.openai.com/v1 --model gpt-4o-mini
DeepSeek(国内推荐)
--api-key sk-xxx --api-base https://api.deepseek.com/v1 --model deepseek-chat
其他兼容API:只需修改 --api-base 和 --model
评论数据通过 RapidAPI 的 "Amazon Products and Reviews" 接口获取。内置一个免费Key(有额度限制),你也可以自己申请:
--rapidapi-key 参数传入用户输入ASIN
↓
[评论采集模块] fetch_reviews.py
- 调用RapidAPI获取评论数据
- 支持分页采集(最多1000条)
↓
[AI打标模块] ai_tagging.py
- 每条评论调用LLM进行深度分析
- 提取:情感/痛点/卖点/场景/画像/建议
- 带频率控制(避免API限流)
↓
[汇总分析模块] analyze.py
- 聚合所有打标结果
- 统计高频词、情感分布、评分分布
↓
[报告生成模块] generate_report.py
- 基于HTML模板生成交互式报告
- 包含Chart.js可视化图表
↓
输出HTML报告(自动在浏览器打开)
分析AirPods Pro 2(ASIN: B0CHX1W1XY)
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/analyze.py \
--asin B0CHX1W1XY \
--market US \
--max-reviews 500 \
--api-key sk-xxx \
--api-base https://api.openseek.com/v1
分析报告示例截图(略)
Q: 如何找到产品的ASIN?
A: 在Amazon产品页面的URL中,ASIN是 /dp/ 后面的那串代码。例如:https://www.amazon.com/dp/B08N5WRWNW → ASIN是 B08N5WRWNW。也可以在产品详情页的"产品信息"板块中找到。
Q: 为什么评论数量少于预期? A: 有几个可能:
--max-reviews 参数,或自备RapidAPI Key。Q: 能分析非美国市场的产品吗?
A: 可以,用 --market 参数指定市场代码:
US - 美国UK - 英国DE - 德国JP - 日本FR - 法国CA - 加拿大IT - 意大利ES - 西班牙Q: AI打标的准确率如何? A: 使用gpt-4o-mini或更好模型时:
Q: 分析报告能直接用于优化Listing吗? A: 报告的"Listing优化建议"板块提供了基于真实用户反馈的改进方向,但还需要结合产品特性和市场策略来细化。建议:
Q: API调用成本大概多少? A: 以500条评论为例:
Q: 如何降低API成本? A: 几个建议:
--max-reviews 50)原因:API调用频率过高,触发限流
解决方案:
analyze.py 中的 delay 参数(如改为1.0秒)原因:LLM返回的结果不是标准JSON格式
解决方案: 代码已内置4种解析策略(直接解析、Markdown提取、文本提取、模糊匹配),如果仍然失败:
--debug 模式,查看AI返回的原始内容ai_tagging.py 的 _build_tagging_prompt 函数中),要求模型"只输出JSON,不要输出其他内容"temperature 为0.1)原因:
解决方案:
python analyze.py --asin TEST --use-mock --use-mock-tags原因:CDN加载失败(Chart.js可能无法访问)
解决方案:
cdn.jsdelivr.netgenerate_report.py 中的CDN链接为本地路径创建一个ASIN列表文件 asins.txt:
B08N5WRWNW
B08N5WRWNX
B08N5WRWNY
然后批量运行:
while read asin; do
python ~/.workbuddy/skills/amazon-review-analyzer/scripts/analyze.py \
--asin $asin \
--api-key YOUR_KEY \
--use-mock-tags # 先用模拟打标测试
done < asins.txt
创建一个自动化脚本,每周分析竞品评论,追踪用户痛点变化:
# cron job: 每周一早上8点运行
0 8 * * 1 python /path/to/analyze.py --asin COMPETITOR_ASIN --api-key YOUR_KEY
修改 generate_report.py,增加CSV导出功能:
# 在报告生成后,导出CSV
import pandas as pd
df = pd.DataFrame([{
"rating": item["review"]["rating"],
"sentiment": item["tags"]["sentiment"],
"pain_points": ", ".join(item["tags"]["pain_points"]),
"selling_points": ", ".join(item["tags"]["selling_points"]),
"summary": item["tags"]["summary"]
} for item in tagged_reviews])
df.to_csv(output_path.replace(".html", ".csv"), index=False, encoding="utf-8-sig")
作者: WorkBuddy Skill Creator 反馈: 如遇到问题或有改进建议,请在WorkBuddy中反馈