×

api 数据挖掘

电商竞品评论自动监控 + 深度文本分析完整实操方案(附可运行 Python 代码)

admin admin 发表于2026-07-10 16:01:32 浏览7 评论0

抢沙发发表评论

前言

做电商运营、产品、市场调研的朋友,几乎都绕不开竞品用户评价分析这件事。传统手动复制评论、Excel 整理的方式效率极低:单款商品上万条评价,逐条筛选差评、统计吐槽点、跟踪新增反馈,人工至少耗费半天;多商品长期监控更是分身乏术,等整理完数据,竞品已经完成一轮产品迭代。

本文分享一套轻量化落地方案,借助 OpenClaw 一站式数据能力,无需复杂环境搭建,半小时完成商品评论全量获取、实时增量监控、情感分词、关键词统计,附带完整可运行代码,个人 / 小团队均可直接复用,适配淘宝、天猫国内电商场景。

一、方案核心优势

  1. 全量数据快速拉取 支持指定商品批量读取全部买家评价,包含星级、评价正文、晒图、追评、评价时间、买家标签,无需逐页翻页加载,规避平台访问限制。

  2. 增量实时监控 配置定时轮询任务,自动抓取上新产生的评价,一旦出现大批量负面反馈、高频吐槽关键词,可触发本地日志提醒,第一时间捕捉竞品产品缺陷、服务漏洞。

  3. 轻量化文本分析 内置基础分词、情感打分功能,自动区分好评 / 中评 / 差评,统计高频吐槽词(如掉色、尺寸偏小、发货慢),输出结构化统计结果,直接用于产品优化、营销文案调整。

  4. 低门槛部署 仅需 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()

四、落地使用流程详解

  1. 初始化全量采集 运行第一段代码,填入需要调研的竞品商品 ID,一次性拉取全部历史评价,生成基础 Excel 数据集,完成竞品口碑大盘摸底。

  2. 开启 7×24 小时监控 后台常驻运行第二段监控脚本,每 30 分钟自动扫描新增评价,一旦出现色差、破损、发货慢等负面词汇,日志文件会标记预警,不用人工每日反复查看商品页面。

  3. 周期性深度分析 每周执行第三段分析代码,自动计算好评差评比例、提取用户集中吐槽点,生成可视化图表,输出可直接用于产品优化、运营调整的分析结论。

五、实战落地场景分享

场景 1:新品上线竞品对标调研

新品筹备阶段,批量采集同赛道头部 3-5 款竞品全部评价,通过词频分析找到用户核心痛点:比如服装类目集中吐槽 “尺码偏小”,开发阶段直接调整版型;小家电频繁反馈 “噪音大”,优化内部电机结构,精准打造差异化卖点。

场景 2:店铺口碑风险预警

自有店铺 + 对标竞品同时监控,一旦竞品集中出现同类差评,预判行业共性问题,提前调整详情页说明、升级售后方案,规避同类投诉;自身商品新增大量负面评价时,快速定位问题批次,及时联系买家处理。

场景 3、营销内容优化

提取好评高频正向词汇(面料柔软、性价比高、包装精致),融入直通车标题、商品详情、短视频文案;规避差评高频负面关键词对应的宣传话术,降低用户心理预期落差,提升转化。

六、常见问题优化方案

  1. 采集速度慢、频繁中断 代码内已设置 1.2 秒间隔限流,若商品评价超 10 万条,可拆分商品 ID 分批次采集,避免单次请求数据量过大。

  2. 分词关键词杂乱无意义 可自行扩充STOP_WORDS停用词列表,过滤无分析价值词汇,聚焦产品、物流、服务相关核心词。

  3. 监控日志文件过大 新增定时清理脚本,按月归档历史日志,只保留近 30 天新增评价记录,节省本地存储空间。

七、总结

这套基于 OpenClaw 搭建的电商评论监控分析方案,完美解决传统人工整理数据低效、反馈滞后的痛点。无需复杂底层开发,三段代码覆盖数据采集 - 实时监控 - 智能分析全流程,个人运营、中小团队、市场调研人员均可快速上手。

长期持续监控竞品用户反馈,能持续挖掘产品迭代机会、规避经营风险,把零散的买家评价转化为可落地的数据决策依据,在同质化电商竞争中建立信息优势。


少长咸集

群贤毕至

访客