电商竞品评论自动监控 + 深度文本分析完整实操方案(附可运行 Python 代码)
前言
做电商运营、产品、市场调研的朋友,几乎都绕不开竞品用户评价分析这件事。传统手动复制评论、Excel 整理的方式效率极低:单款商品上万条评价,逐条筛选差评、统计吐槽点、跟踪新增反馈,人工至少耗费半天;多商品长期监控更是分身乏术,等整理完数据,竞品已经完成一轮产品迭代。
本文分享一套轻量化落地方案,借助 OpenClaw 一站式数据能力,无需复杂环境搭建,半小时完成商品评论全量获取、实时增量监控、情感分词、关键词统计,附带完整可运行代码,个人 / 小团队均可直接复用,适配淘宝、天猫国内电商场景。
一、方案核心优势
- 全量数据快速拉取 支持指定商品批量读取全部买家评价,包含星级、评价正文、晒图、追评、评价时间、买家标签,无需逐页翻页加载,规避平台访问限制。
- 增量实时监控 配置定时轮询任务,自动抓取上新产生的评价,一旦出现大批量负面反馈、高频吐槽关键词,可触发本地日志提醒,第一时间捕捉竞品产品缺陷、服务漏洞。
- 轻量化文本分析 内置基础分词、情感打分功能,自动区分好评 / 中评 / 差评,统计高频吐槽词(如掉色、尺寸偏小、发货慢),输出结构化统计结果,直接用于产品优化、营销文案调整。
- 低门槛部署 仅需 Python 基础环境,无需搭建代理集群、解析复杂页面加密参数,屏蔽平台反爬拦截,新手复制代码即可运行。
二、前期准备工作
1. 环境依赖安装
本地安装 Python3.8 及以上版本,执行 pip 安装所需工具包:
pip install requests pandas jieba wordcloud
2. 工具基础配置
登录 OpenClaw 后台,创建个人数据项目,获取专属身份凭证字符串(下文代码中token字段替换为个人凭证),填写目标商品 ID 即可锁定采集对象,支持单次传入多个商品编号批量处理。
三、完整实操代码(分三大模块:数据拉取、增量监控、评论分析)
模块 1:批量获取商品全部评价数据
作用:一次性导出历史所有评价,存入本地 Excel,用于初期竞品大盘分析
import requests
import pandas as pd
import time
# 基础配置
TOKEN = "你的个人身份凭证字符串"
TARGET_ITEM_IDS = ["728945612345", "728945678901"] # 待监控商品ID列表
SAVE_PATH = "电商评论原始数据.xlsx"
def get_all_reviews(item_id):
review_list = []
page = 1
while True:
# 构建请求参数
params = {
"token": TOKEN,
"item_id": item_id,
"page": page,
"limit": 50
}
resp = requests.get("https://data-claw.fetchcontent.com/comment", params=params)
res_data = resp.json()
# 判断无更多数据则退出循环
if len(res_data.get("data", [])) == 0:
break
# 清洗单条评价字段
for item in res_data["data"]:
temp_dict = {
"商品ID": item_id,
"评价时间": item.get("publish_time"),
"星级评分": item.get("star"),
"评价内容": item.get("content"),
"是否追评": item.get("is_add_comment"),
"晒图数量": item.get("img_num"),
"买家标签": item.get("buyer_tag")
}
review_list.append(temp_dict)
page += 1
time.sleep(1.2) # 限流防高频访问
return review_list
if __name__ == "__main__":
total_data = []
for goods_id in TARGET_ITEM_IDS:
print(f"正在采集商品{goods_id}评价数据...")
goods_reviews = get_all_reviews(goods_id)
total_data.extend(goods_reviews)
print(f"商品{goods_id}共获取{len(goods_reviews)}条评价")
# 保存至本地Excel
df = pd.DataFrame(total_data)
df.to_excel(SAVE_PATH, index=False)
print(f"全部数据采集完成,已保存至{SAVE_PATH}")
模块 2:定时增量监控新增评价(核心监控功能)
作用:定时运行,对比历史数据,只抓取新增评价,实时预警负面反馈
import requests
import pandas as pd
import time
from datetime import datetime
TOKEN = "你的个人身份凭证字符串"
TARGET_ITEM_IDS = ["728945612345", "728945678901"]
HISTORY_FILE = "电商评论原始数据.xlsx"
NEW_REVIEW_LOG = "新增评价实时日志.txt"
# 负面关键词库,可自行扩充
BAD_WORDS = ["色差", "掉色", "破损", "发货慢", "质量差", "尺寸不符", "气味大"]
def get_new_reviews(item_id):
new_data = []
params = {
"token": TOKEN,
"item_id": item_id,
"page": 1,
"limit": 30
}
resp = requests.get("https://data-claw.fetchcontent.com/comment", params=params)
res_data = resp.json()
return res_data.get("data", [])
def monitor_task():
# 读取历史已有评价
try:
history_df = pd.read_excel(HISTORY_FILE)
history_content_set = set(history_df["评价内容"].tolist())
except:
history_content_set = set()
today = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
log_text = f"\n===== {today} 监控轮次 =====\n"
alert_flag = False
for goods_id in TARGET_ITEM_IDS:
fresh_comments = get_new_reviews(goods_id)
for comment in fresh_comments:
content = comment.get("content", "")
# 判断是否为全新评价
if content not in history_content_set and content.strip() != "":
log_text += f"【商品{goods_id}】{comment['publish_time']} | {comment['star']}星 | {content}\n"
history_content_set.add(content)
# 负面关键词预警
for word in BAD_WORDS:
if word in content:
log_text += f"⚠️ 负面预警:命中关键词【{word}】\n"
alert_flag = True
# 写入日志文件
with open(NEW_REVIEW_LOG, "a", encoding="utf-8") as f:
f.write(log_text)
if alert_flag:
print("【重要提醒】本轮监控发现负面评价,请查看日志文件!")
else:
print("本轮监控完成,无新增负面反馈")
# 定时循环,每30分钟执行一次监控
if __name__ == "__main__":
while True:
monitor_task()
time.sleep(1800)
模块 3:评论文本深度分析(情感统计 + 高频词提取)
作用:基于采集到的全量评价,自动统计好评差评占比、生成吐槽关键词词频表
import pandas as pd
import jieba
from collections import Counter
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
DATA_FILE = "电商评论原始数据.xlsx"
STOP_WORDS = ["很好", "不错", "还行", "满意", "物流快", "质量好", "收到", "非常"]
def analysis_comments():
df = pd.read_excel(DATA_FILE)
# 1. 星级分布统计
star_count = df["星级评分"].value_counts().sort_index()
print("===== 商品星级分布统计 =====")
print(star_count)
# 划分好评/中差评
good = df[df["星级评分"] >= 4].shape[0]
bad = df[df["星级评分"] <= 3].shape[0]
total = df.shape[0]
print(f"好评占比:{round(good/total*100,2)}%,中差评占比:{round(bad/total*100,2)}%")
# 2. 提取中差评高频关键词
bad_df = df[df["星级评分"] <= 3]
all_text = "".join(bad_df["评价内容"].astype(str))
words = jieba.lcut(all_text)
word_filter = [w for w in words if len(w)>=2 and w not in STOP_WORDS]
word_freq = Counter(word_filter)
top20 = word_freq.most_common(20)
print("\n===== 中差评Top20高频关键词 =====")
for word, num in top20:
print(f"{word}:{num}次")
# 3. 绘制词频柱状图
words_list = [i[0] for i in top20]
count_list = [i[1] for i in top20]
plt.figure(figsize=(12,6))
plt.bar(words_list, count_list)
plt.xticks(rotation=45)
plt.title("竞品差评高频关键词统计")
plt.tight_layout()
plt.savefig("差评关键词分布图.png")
print("\n词频图表已保存至本地!")
if __name__ == "__main__":
analysis_comments()
四、落地使用流程详解
- 初始化全量采集 运行第一段代码,填入需要调研的竞品商品 ID,一次性拉取全部历史评价,生成基础 Excel 数据集,完成竞品口碑大盘摸底。
- 开启 7×24 小时监控 后台常驻运行第二段监控脚本,每 30 分钟自动扫描新增评价,一旦出现色差、破损、发货慢等负面词汇,日志文件会标记预警,不用人工每日反复查看商品页面。
- 周期性深度分析 每周执行第三段分析代码,自动计算好评差评比例、提取用户集中吐槽点,生成可视化图表,输出可直接用于产品优化、运营调整的分析结论。
五、实战落地场景分享
场景 1:新品上线竞品对标调研
新品筹备阶段,批量采集同赛道头部 3-5 款竞品全部评价,通过词频分析找到用户核心痛点:比如服装类目集中吐槽 “尺码偏小”,开发阶段直接调整版型;小家电频繁反馈 “噪音大”,优化内部电机结构,精准打造差异化卖点。
场景 2:店铺口碑风险预警
自有店铺 + 对标竞品同时监控,一旦竞品集中出现同类差评,预判行业共性问题,提前调整详情页说明、升级售后方案,规避同类投诉;自身商品新增大量负面评价时,快速定位问题批次,及时联系买家处理。
场景 3、营销内容优化
提取好评高频正向词汇(面料柔软、性价比高、包装精致),融入直通车标题、商品详情、短视频文案;规避差评高频负面关键词对应的宣传话术,降低用户心理预期落差,提升转化。
六、常见问题优化方案
- 采集速度慢、频繁中断 代码内已设置 1.2 秒间隔限流,若商品评价超 10 万条,可拆分商品 ID 分批次采集,避免单次请求数据量过大。
- 分词关键词杂乱无意义 可自行扩充
STOP_WORDS停用词列表,过滤无分析价值词汇,聚焦产品、物流、服务相关核心词。 - 监控日志文件过大 新增定时清理脚本,按月归档历史日志,只保留近 30 天新增评价记录,节省本地存储空间。
七、总结
这套基于 OpenClaw 搭建的电商评论监控分析方案,完美解决传统人工整理数据低效、反馈滞后的痛点。无需复杂底层开发,三段代码覆盖数据采集 - 实时监控 - 智能分析全流程,个人运营、中小团队、市场调研人员均可快速上手。
长期持续监控竞品用户反馈,能持续挖掘产品迭代机会、规避经营风险,把零散的买家评价转化为可落地的数据决策依据,在同质化电商竞争中建立信息优势。
更多推荐


所有评论(0)