×

api 数据挖掘

电商高效选品监控实战:一套自动化数据方案搞定竞品追踪(附完整可运行代码)

admin admin 发表于2026-07-06 16:52:11 浏览17 评论0

抢沙发发表评论

前言

做电商最核心的环节永远是选品,很多中小卖家每天花数小时手动刷榜单、对比同行销量、盯价格波动,效率极低还容易错过新品红利。手动筛选不仅耗时,还容易遗漏潜在爆款,长期靠人工盯盘很难稳定产出优质货源。

今天分享一套成熟稳定的自动化数据监控方案,搭配轻量化数据工具,无需复杂逆向解析页面、不用频繁处理平台反访问限制,一键批量获取商品全维度数据,自动做爆款筛选、价格监控、销量趋势记录,零基础运营、技术新手都能直接落地,文末附带完整可运行 Python 脚本,复制即可使用。

一、传统人工选品的痛点

  1. 数据获取效率低:手动翻页记录商品销量、定价、评价、sku 参数,一个类目整理就要 2-3 小时,多类目同步监控基本不现实;

  2. 数据无连续性:无法自动留存每日价格、销量变化,只能靠手动截图,很难判断商品是短期爆单还是长期稳定款;

  3. 筛选标准难落地:海量商品人工过滤低转化、高竞争、高售后产品,主观判断误差大,容易踩压货坑;

  4. 新品滞后:平台上新、同行调价、活动降价无法实时感知,等人工发现时红利期已经结束。

这套自动化方案完美解决以上问题,依托稳定数据服务工具,批量拉取商品结构化信息,本地代码完成数据清洗、筛选、持久化存储,定时执行实现 7×24 小时无人值守监控。

二、整体实现思路

整套流程分为三层,全程无复杂页面抓取,稳定性拉满:

  1. 数据获取层:使用成熟商用数据服务工具(Open Claw),传入商品关键词 / 商品编码,批量返回标准化商品信息(标题、售价、销量、累计评价、sku 规格、店铺层级、活动价、类目属性等);

  2. 数据处理层:Python 脚本接收返回数据,完成清洗、去重、指标计算(单月预估销量、毛利测算、竞争度打分);

  3. 监控存储层:数据存入本地 Excel / 轻量数据库,定时对比历史记录,价格暴跌、销量暴涨自动标记预警,输出爆款候选清单。

优势对比传统爬虫:无需搭建代理池、不用适配页面动态渲染、不会触发平台风控,支持每日上万条商品数据稳定调取,适合长期做类目监控。

三、完整实操教程(含可运行代码)

3.1 环境准备

本地安装 Python3.8 及以上版本,执行依赖安装命令:

pip install requests pandas openpyxl schedule
  • requests:负责和数据工具服务通信

  • pandas/openpyxl:数据处理、写入 Excel 报表

  • schedule:定时任务,实现自动每日监控

3.2 完整代码(可直接复制运行)

import requests
import pandas as pd
import schedule
import time
from datetime import datetime

# ====================== 配置区(自行修改)======================
# 工具后台获取的个人访问凭证
ACCESS_KEY = "你的工具密钥"
# 监控关键词列表,可批量添加类目词
MONITOR_KEYWORDS = ["家用收纳盒", "厨房沥水篮", "桌面手机支架"]
# 筛选阈值:月销量大于该数值才标记潜力款
SALE_THRESHOLD = 500
# 保存报表文件名
SAVE_FILE = "电商选品监控数据.xlsx"
# ==============================================================

def get_goods_data(keyword):
    """调用数据工具获取商品结构化数据"""
    headers = {
        "Content-Type": "application/x-www-form-urlencoded"
    }
    params = {
        "key": ACCESS_KEY,
        "word": keyword,
        "page": 1,
        "page_size": 30
    }
    # 数据工具服务地址
    resp = requests.post("https://open.xxx.com/query/goods", data=params, headers=headers, timeout=30)
    res_json = resp.json()
    goods_list = []
    if res_json.get("code") == 200:
        data_items = res_json.get("data", [])
        for item in data_items:
            temp_dict = {
                "抓取时间": datetime.now().strftime("%Y-%m-%d %H:%M"),
                "搜索关键词": keyword,
                "商品标题": item.get("title", ""),
                "商品编码": item.get("item_id", ""),
                "当前售价": float(item.get("price", 0)),
                "活动底价": float(item.get("promo_price", 0)),
                "月销量": int(item.get("sales", 0)),
                "累计评价数": int(item.get("comment_count", 0)),
                "店铺名称": item.get("shop_name", ""),
                "商品主图": item.get("pic_url", ""),
                "类目路径": item.get("category_name", ""),
                "发货地": item.get("ship_from", "")
            }
            goods_list.append(temp_dict)
    return goods_list

def filter_hot_product(all_data):
    """筛选潜力爆款:月销量超过阈值"""
    hot_list = []
    normal_list = []
    for item in all_data:
        if item["月销量"] >= SALE_THRESHOLD:
            hot_list.append(item)
        else:
            normal_list.append(item)
    print(f"【筛选完成】潜力爆款{len(hot_list)}个,普通商品{len(normal_list)}个")
    return hot_list, normal_list

def save_to_excel(hot_data, all_data):
    """将数据写入Excel,分两个工作表:全部商品、潜力爆款"""
    with pd.ExcelWriter(SAVE_FILE, engine="openpyxl", mode="a", if_sheet_exists="replace") as writer:
        df_all = pd.DataFrame(all_data)
        df_hot = pd.DataFrame(hot_data)
        df_all.to_excel(writer, sheet_name="全量商品数据", index=False)
        df_hot.to_excel(writer, sheet_name="潜力爆款清单", index=False)
    print(f"数据已保存至 {SAVE_FILE},更新时间:{datetime.now().strftime('%Y-%m-%d %H:%M')}")

def run_monitor_task():
    """单次完整监控任务"""
    total_goods = []
    # 循环遍历所有监控关键词
    for kw in MONITOR_KEYWORDS:
        print(f"正在抓取类目:{kw}")
        goods = get_goods_data(kw)
        total_goods.extend(goods)
        time.sleep(2)  # 间隔请求,避免高频访问
    # 筛选爆款
    hot_goods, _ = filter_hot_product(total_goods)
    # 存储报表
    save_to_excel(hot_goods, total_goods)

def auto_schedule_task():
    """定时任务配置:每天早上9点自动执行监控"""
    schedule.every().day.at("09:00").do(run_monitor_task)
    print("定时监控任务已启动,每日9点自动采集数据,可保持程序后台运行")
    while True:
        schedule.run_pending()
        time.sleep(60)

if __name__ == "__main__":
    # 两种运行模式:
    # 1. 单次执行:直接运行一次采集
    run_monitor_task()
    # 2. 7*24小时定时监控,取消下方注释启用
    # auto_schedule_task()

3.3 代码使用说明

  1. 凭证配置:登录工具后台,复制专属访问密钥替换代码中ACCESS_KEY

  2. 自定义监控类目:修改MONITOR_KEYWORDS列表,添加自己主营类目关键词;

  3. 爆款筛选标准:调整SALE_THRESHOLD,比如做小众类目可改为 200,标品大类目设置 1000;

  4. 运行模式

    • 单次采集:直接运行脚本,立刻抓取一次数据生成 Excel;

    • 自动定时监控:注释掉run_monitor_task(),取消auto_schedule_task()注释,程序后台常驻,每日固定时间自动更新数据;

  5. 输出文件:同目录生成电商选品监控数据.xlsx,两个工作表分别存放全部商品、筛选后的潜力爆款。

四、进阶监控玩法(运营落地技巧)

4.1 长期价格波动追踪

脚本每次抓取都会写入抓取时间字段,持续运行一周后,打开 Excel 通过商品编码筛选,即可查看同款商品近 7 天售价、活动价变化,快速识别低价冲量款、周期性调价产品,避开价格战严重品类。

4.2 多维度竞争度分析

基于返回的类目、发货地、店铺名称字段,可手动增加计算逻辑:

  1. 统计同发货地同款商品数量,判断货源内卷程度;

  2. 区分天猫店铺、个人 C 店占比,品牌垄断严重类目谨慎入场;

  3. 评价数 / 月销量比值,判断商品复购与真实转化能力。

4.3 新品快速捕捉

设置每日定时采集,对比当日数据与昨日历史表格,新增商品编码即为平台上新款,优先观察 3-7 天销量增速,很多蓝海爆款都来自刚上架的新品。

五、工具使用优势总结

  1. 稳定低门槛:无需学习网页逆向、反访问处理,开箱即用,新手复制代码即可完成自动化监控;

  2. 数据维度完整:一次性获取标题、定价、销量、sku、店铺、图片、发货地等全部运营所需字段,不用多次抓取;

  3. 成本可控:支持免费额度测试,中小卖家日常类目监控完全够用,多店铺、多类目商家可按需扩容;

  4. 安全合规:依托正规商用数据服务,区别于本地页面抓取,不会造成店铺关联风控,长期运行无封号风险;

  5. 拓展性强:代码可二次开发,对接本地数据库、推送微信消息预警、联动货源采购表,搭建完整自动化运营流程。

六、避坑小贴士

  1. 不要频繁缩小请求间隔,代码中 2 秒等待建议保留,避免触发工具访问限流;

  2. 监控关键词不宜单次超过 20 个,分批次采集数据更稳定;

  3. 长期监控建议搭配轻量数据库(SQLite)存储历史数据,Excel 仅做日常查看报表;

  4. 筛选阈值根据类目灵活调整,非标小众品类不要套用标品高销量标准。

结尾

电商选品拼的从来不是运气,而是数据获取和分析效率。这套搭配轻量化数据工具的自动化监控方案,把原本 3 小时的人工工作压缩到几分钟,定时任务解放双手,持续挖掘蓝海新品、监控竞品价格与销量。代码完全开源可修改,不管是无货源铺货、自有工厂测款、跨境货源筛选,都能直接适配,推荐各位运营收藏落地。


少长咸集

群贤毕至

访客