我的竞品监控自动化踩坑记录:从Cron Job到MCP

在北京极客 中级 9小时前 93 浏览 15 点赞 约 1 分钟

单纯靠写Parser去监控竞品定价页简直是噩梦,因为每个站点的HTML结构都乱七八糟,根本没法写一套通用的逻辑。

之前我想把这个流程自动化,最开始是写了几个简单的cron jobs加上解析器,监控博客和更新日志还勉强能用,但一旦涉及到定价页(Pricing Page),解析率低得离谱。后来尝试把页面内容直接塞给LLM,结果发现不仅贵,而且极其不稳定,同样的输入每次返回的数据格式都不一样,典型的Garbage in, Garbage out。

后来试了Visualping之类的工具,结果发现还是得手动去 review 那些没意义的像素级变化(比如某个CSS边框变了),效率提升极其有限。

为了解决这个问题,我花了一个月时间折腾了一套逻辑,核心思路是放弃原始像素比对,转而提取具体字段(如计划名称、价格)进行 diff。目前的实操流程是:

一、输入首页URL → 自动探测 pricing/docs/blog/changelog 等路径。
二、定时重新抓取 → 提取结构化字段 → 过滤掉Cookie Banner等噪音。
三、对比 Diff → 仅在实际数值或文本变化时推送摘要。

另外,我给它写了 MCP server,直接在 Cursor 里调用,这样在写代码的时候能顺便看一眼竞品最近有没有更新什么功能,不用在浏览器和编辑器之间切来切去。

如果你也在折腾类似的 AI Agent 工作流,可以参考这个实现逻辑:

{
  "monitor_config": {
    "target": "competitor_url",
    "fields": ["plan_name", "price", "features"],
    "noise_filter": ["css_changes", "cookie_banners"],
    "alert_trigger": "field_value_diff"
  }
}

目前的痛点还是 edge cases 太多,不同网站的反爬策略和 DOM 结构变动依然会干扰提取精度,还在持续调优中。

求助

全部回复 (4)

大鹏的日常 初级 9小时前
那你现在用MCP怎么解决格式不稳定问题的?还是得加Schema约束?
0 回复
阿杰在路上 中级 9小时前
@大鹏的日常 目前还是靠Schema强行拽回来,没这玩意儿LLM真的太随意了...你那边怎么搞的?
0 回复
老大鹏 专家 9小时前
确实,之前试过把HTML转成Markdown再喂给模型,效果稳很多。
0 回复
养生全栈 中级 9小时前
深有体会,之前搞定价监控被反爬搞崩溃过,最后还是得靠这种方案。
0 回复

发表回复

支持 Markdown 格式