【More Than Coding】用 SOLO 10 分钟搭了一套竞品监控系统,从此告别手动截图的苦日子
一、摘要
作为一名产品经理实习生,我每天要盯着京东服务市场上 12 个竞品的价格、评分、活动变化,原本每天手动截图+整理要花 2-3 小时。用 TRAE SOLO 搭了一套自动监控系统后,现在只需一条命令,15 分钟搞定全部采集和报告生成。数据更准、覆盖更全,还能自动检测变化趋势——我终于有时间摸鱼了(划掉)做更有价值的事了。
二、背景
我是谁
一名产品经理实习生,在京东服务市场团队实习。日常工作中有一项"必修课":每天做竞品监控报告。
我的工作痛点
说出来都是泪:
每天手动打开 12 个竞品页面,逐个点击版本×周期组合记录价格(有的竞品 4 个版本 × 5 个周期 = 20 个组合!)
经常漏记某个组合的价格,或者把 ¥11 记成 ¥110
报告格式每次都不一样,被导师说"你上次和这次的数据对不上"
竞品悄悄降价了 1 块钱,我根本发现不了
没有历史数据对比,看不出趋势
总结:我是一个人形爬虫,但比爬虫慢,还比爬虫容易出错。
三、实践过程
Step 1:任务拆解
我把竞品监控拆成了 4 个子任务:
| 子任务 | 说明 |
|---|---|
| 自动打开竞品页面,逐个点击版本×周期,读取价格、评分、已买人数、续订率、活动标签 | |
| 存入 SQLite 数据库,支持历史查询和对比 | |
| 对比今天和昨天的数据,自动检测价格/指标/活动的变化 | |
| 生成可视化 HTML 报告,包含价格矩阵、变化详情、趋势指标 |
Step 2:技术方案
我完全不懂爬虫和自动化,但 SOLO 帮我搞定了所有技术细节:
- 采集层:通过 CDP(Chrome DevTools Protocol)连接浏览器,用 JavaScript 自动点击页面元素、读取数据
- 存储层:SQLAlchemy + SQLite,每次采集自动存库
- 检测层:自动对比最近两次数据,检测价格变化、可用性变化、指标变化、活动变化
- 展示层:生成美观的 HTML 报告
Step 3:关键 Prompt 分享
整个开发过程我主要靠对话引导 SOLO 完成,不需要自己写代码。以下是一些关键的 Prompt:
“帮我写一个 Python 脚本,通过 CDP 协议连接浏览器,打开京东服务市场竞品页面,自动点击版本和周期选项卡,采集所有组合的价格”
“对比今天和昨天的采集数据,检测哪些竞品的价格、评分、活动发生了变化”
“生成一个可视化的 HTML 报告,展示所有竞品的当日数据和变化详情”
“把这个功能打包成一个 Skill,支持中文命令行操作,并加入定时任务”
“价格不要四舍五入,保留2位小数,整数不显示.00”
“折扣只有标’惠’的才有,不能仅凭有两个价格就判断”
“某版本一年价格读不到,帮我调试一下”(踩坑实录)
Step 4:踩坑实录(含泪量极高)
开发过程中踩了不少坑,SOLO 帮我一个个解决了:
| 问题 | 现象 | 解决方案 |
|---|---|---|
| 点击后未选中 | 版本×周期点击了但没生效,读到残留价格 | 增加点击后验证机制,检查 is-check 状态 |
| 不同页面结构 | 有的竞品用 /main/detail/,有的用 /market/new/detail/,价格元素不同 | 兼容两种页面结构,自动回退到通用选择器 |
| 折扣误判 | 页面上有两个价格就显示折扣,但实际没有"惠"标签 | 改为只有带"惠"标签的组合才标记折扣 |
| 最后一个组合读不到 | 最后一个版本×最后一个周期,无法"先切换再切回" | 增加 already-selected 分支,已选中直接跳过 |
| 价格被四舍五入 | ¥1.5 显示成 ¥2 | 用 Decimal 向下截断,整数不显示 .00 |
| 表头和数据错位 | HTML 表头硬编码顺序和数据不一致 | 改为动态生成表头,与数据顺序一致 |
| 首次采集不显示 | 新竞品只有1次记录,不满足"至少2次"的条件 | 改为所有竞品都展示,首次采集显示完整价格矩阵 |
每一个 bug 的修复过程都是:发现问题 → 把错误信息贴给 SOLO → SOLO 分析原因并修复 → 我验证。全程不需要自己写代码。
四、成果展示
4.1 系统架构
最终系统由 3 个核心文件组成:
competitor_monitor_skill/
├── skill.md # Skill 描述文档
├── run.py # 主执行脚本(6 个核心功能)
└── schedule.sh # 定时任务管理脚本
4.2 命令行操作(全中文!)
python3 run.py 采集 "https://fw.jd.com/..." # 添加新竞品
python3 run.py 批量采集 # 采集所有竞品
python3 run.py 列表 # 查看竞品列表
python3 run.py 报告 <商品名称> # 生成单个竞品报告
python3 run.py 每日报告 # 生成监控+变化报告
python3 run.py 每日执行 # 一键采集+生成报告
4.3 终端采集效果
批量采集 12 个竞品时的终端输出(每个竞品自动遍历所有版本×周期组合):
[1/12] ✅ 京东店铺A_营销 | 评分4.7 已买30000 续订率4.05%
[2/12] ✅ 京东店铺B_营销 | 评分5.0 已买60000 续订率32.43%
[3/12] ✅ 京东店铺C_营销 | 评分5.0 已买2000 续订率34.21%
...
[12/12] ✅ 京东店铺L_营销 | 评分4.7 已买40000 续订率11.36%
4.4 每日竞品变化监控报告
系统自动生成的每日监控报告,包含三大板块:
版本×周期价格变化 — 详细展示每个变化的价格组合
核心指标变化 — 评分、已买人数、续订率的波动
首次采集的竞品 — 展示完整价格矩阵
4.5 单个竞品详细报告
每个竞品都有独立的详细报告,包含评分详情、评价分布、价格矩阵、服务商信息、活动标签、最新评价等:
4.6 监控数据一览(12 个竞品)
| 竞品 | 评分 | 已买 | 续订率 |
|---|---|---|---|
| 京东店铺A_互动引流_下单抽奖 | 4.9 | 390,000+人 | 10.42% |
| 京东店铺B_客户运营_CRM精准短信 | 4.9 | 90,000+人 | 16.33% |
| 京东店铺C_云短信CRM_一站式会员营销 | 5.0 | 60,000+人 | 32.43% |
| 京东店铺D_CRM短信催付_会员运营 | 4.9 | 50,000+人 | 27.27% |
| 京东店铺E_互动营销超级涨粉 | 4.7 | 40,000+人 | 11.36% |
| 京东店铺F_区域折扣_水印短信拼购 | 4.8 | 40,000+人 | 50.0% |
| 京东店铺G_会员互动 | 4.7 | 30,000+人 | 4.05% |
| 京东店铺H_CRM会员精准洞察营销 | 4.9 | 30,000+人 | 10.34% |
| 京东店铺I_精准短信_会员全链路运营 | 5.0 | 20,000+人 | 16.67% |
| 京东店铺J_会员互动营销_抽奖签到 | 4.8 | 8,000+人 | 17.24% |
| 京东店铺K_抽签抽奖定时开奖 | 4.7 | 3,000+人 | 9.09% |
| 京东店铺L_互动营销_智能奖品锁权 | 5.0 | 2,000+人 | 34.21% |
五、效果与总结
提效数据
| 指标 | 使用 SOLO 前 | 使用 SOLO 后 |
|---|---|---|
| 每日采集时间 | 2-3 小时 | 约 15 分钟(自动化) |
| 竞品覆盖数 | 3-4 个(手动限制) | 12 个(全量覆盖) |
| 价格组合记录 | 容易漏记 | 100% 完整记录 |
| 变化发现 | 依赖人工观察 | 自动检测 + 高亮提示 |
| 历史对比 | 无法实现 | 支持任意时间段对比 |
| 报告格式 | 手动整理 Excel | 自动生成 HTML 报告 |
总结与思考
-
AI 不是替代产品经理思考,而是替代重复劳动。 我仍然需要判断哪些竞品值得监控、如何解读变化趋势,但采集和整理的工作完全交给了 AI。这让我有更多时间去分析数据背后的含义,而不是当一个人形爬虫。
-
对话式开发的效率非常高。 我不需要写代码,只需要清晰地描述问题和需求,SOLO 就能理解并实现。遇到 bug 时,直接把错误信息贴给它就能修复。整个过程就像和一个很靠谱的技术同事合作。
-
分步验证很重要。 每次采集完成后我都会检查数据是否准确,发现了很多边界情况(如某些版本的免费试用周期不可用、不同页面结构的价格元素不同等),逐步优化后数据准确率达到 100%。不要盲目信任 AI 的输出,验证是产品经理的基本功。
-
这套系统完全可以复用到其他电商平台的竞品监控场景,只需要调整页面选择器即可。如果你也是被竞品报告折磨的产品/运营同学,欢迎交流!
工具:TRAE SOLO + CDP 浏览器自动化 + Python
标签:#MoreThanCoding #竞品监控 #产品经理 #AI提效



