4 步 · 4 段可复制提示词 · 约 9 分钟读完
站内精选
核心结论

5 个竞品页人工每天看 12 分钟,看三天就不看了。改成脚本每天存快照比差异、豆包转成人话表:22 个工作日看到真实变化 7 次,待看条目只剩 14 条。首月只省 86 分钟,第二个月起每月省 176 分钟。关键是先去噪再比差异。

盯 5 个竞品页,人工每天挨个看一遍 12 分钟,看三天就懒得看了。这次改成脚本每天 8 点存快照、比出差异,再把原始差异丢给豆包转成一张人话表。22 个工作日实测:看到真实变化 7 次,脚本跑出来的待看条目 14 条,其中 7 条是广告位轮播造成的假差异。第一件事不是写脚本,是先把假差异清掉。

一句话结论

竞品监控的成败不在于抓得多全,在于每天需要人看的条目有几条。抓 5 个页面只花 40 秒,可如果每天吐出 30 条差异,第二天就没人看了。所以顺序是先去噪、再比差异、最后才交给模型说人话。跳过第一步,工具再准也会被弃用——这不是技术问题,是注意力问题。

这篇解决什么问题

三种情况最常见。一是靠人肉刷新:早上开 5 个标签页逐个滚,看到眼熟就关掉,漏掉的永远不知道。二是抓了但没人看:脚本每天生成一份长 diff,几百行加减号,老板不看、自己也不看。三是把轮播图当成交付变化:首页 banner 每天换一版,diff 里天天有 3 处变动,报警一响就麻木。

根子是把「监控」当成「采集」。采集解决有没有数据,监控解决哪一条值得今天看。这两件事之间隔着一次去噪和一次归纳,缺了它们,数据越多越没用。

开始前要准备什么

  • 5 个目标页的稳定选择器:只抓正文容器,不抓整页。整页含导航与推荐位,噪声占九成。
  • 一份白名单:哪些区域的变化不需要通知(轮播、广告、推荐、访问计数)。
  • 快照留存策略:按天存原始 HTML,保留 30 天,出问题能回溯到底哪天变的。
  • 一条纪律:每天待看条目超过 5 条就停下修去噪,不要靠“今天先凑合看”撑过去。

具体怎么做

第一步:只抓正文容器,把噪声挡在门外

整页抓下来一页有 1,240 个节点,正文只占 300 多个,其余是导航、推荐、页脚、统计脚本。差异里有九成来自这些区域。做法是先手工定位一次正文容器的选择器,之后只抓这一块,其余不落盘。

这一步决定了后面所有工作量。这次 5 个页面里 4 个用同一个选择器就够,剩下 1 个是单页应用,正文在脚本渲染后才出现,得加 2 秒等待。定位选择器花了 25 分钟,是整条流程里最不能省的时间。

这是我准备监控的 5 个页面的 HTML 结构(每页给一段节选)。

请帮我:
1. 指出每页正文容器的唯一性选择器,说明为什么这个选择器不会误选中推荐区;
2. 标出哪些区域属于噪声(轮播、广告、推荐、访问计数),给出应排除的类名或属性;
3. 对渲染后才出正文的页面,提示需要额外等待或滚动。

要求:选择器要能直接写进抓取脚本,不要给“用正文提取算法”这类笼统建议。

第二步:按天存快照,差异在本地算

每天 8 点跑一次,抓完把正文存成同名的日期文件,例如 20261027.html。差异不在抓取时算,而是在本地跑比对——这样回溯方便,某天觉得有问题可以拿任意两天的快照重算,不用重新请求对方站点。

抓取本身很快:5 个页面每个 8 秒,合计 40 秒,加解析 20 秒,一分钟内跑完。真正需要设计的是比对粒度——按段落比还是按字符比?这次按段落,因为价格从 299 改成 279 这种单字变化,按字符比会切出两行无意义的碎片。

这是昨天和今天的两份正文快照(结构相同,段落已按顺序对齐)。

请帮我:
1. 按段落比对,列出新增、删除、修改三类差异,每条给原文与新文;
2. 对“修改”类,标出改动的关键字段(价格、套餐名、数量、期限、承诺词);
3. 判断哪些差异只是排版或标点调整,可以忽略。

要求:先列差异再判定,不要合并步骤;每条差异要能定位到段落序号。

第三步:用白名单把假差异清掉

首周跑了 5 天,待看条目 41 条,其中 32 条是轮播位和“已售 1,284 件”这类计数在变。这些不是交付变化,但每天都会触发。做法是维护一份白名单,按选择器或按出现规律排除,命中白名单的直接不写入差异表。

清完之后 22 个工作日累计待看 14 条,其中真实变化 7 条:价格调整 2 次(299 降到 279、499 拆成 399 加 99 加购)、套餐结构改 3 次、主推文案换 2 次。剩 7 条是边界情况,比如对方把“限 3 件”改成“每单限 3 件”,语义没变但字符变了。

这是最近一周的差异清单,共 41 条。

请帮我:
1. 找出属于噪声的差异,按类型归组(轮播、计数、时间戳、推荐位),说明判断依据;
2. 给出可写进白名单的匹配规则(选择器、正则、出现频次);
3. 指出哪些看起来像噪声、实际是交付变化的,不要误伤。

要求:每条规则要能落地执行;区分“一定排除”和“需要人工确认”两类。

第四步:让模型把 diff 写成一行一句

原始差异是加减号,看不懂。交给豆包转成一句话:谁、哪个字段、从什么变成什么、可能影响什么。这次 14 条转完是 14 行,每行 40 字上下,早上花 3 分钟扫一遍就够。注意只让它转述,不让它推测意图——「对方在打价格战」这种结论没有依据,写进去反而误导。

提示词里要挡住两件事:不许合并多条差异成一句(合并后无法逐个核对)、不许写“可能”“或许”这类猜测词。转述的准确率这次是 14 条全对,但如果不给字段清单,它会把“套餐名从 A 改成 A 增强版”写成“新增套餐”,这是错的。

这是今日差异清单(14 条,每条含段落序号、原文、新文)。

请帮我转成核对表,一行一条,字段固定为:
日期 | 竞品 | 变化字段 | 原值 | 新值 | 是否需要跟进

约束:
1. 一行只写一条差异,不许合并;
2. 只陈述变化,不推测动机,不写“可能”“或许”;
3. 变化字段限定在:价格、套餐结构、数量限制、期限、承诺表述、主推卖点;
4. 无法归入上述字段的,字段写“其他”,不要硬套。

输出只要表,不要前后解释。

实测记录

素材是 5 个竞品页,22 个工作日连续跑。搭建 90 分钟(选择器 25、脚本与定时 40、白名单首版 15、提示词 10)。每天运行 1 分钟,看表 3 分钟,合计 4 分钟。22 天累计 88 分钟,加搭建是 178 分钟;人工按每天 12 分钟算是 264 分钟,首月省 86 分钟。

从第二个月起没有搭建成本,每月 88 分钟对 264 分钟,省 176 分钟。也就是说第一月只是打平,价值从第二个月才开始显出来。这点要说清楚,否则第一个月看到只省 86 分钟会以为不值得。

抓到的东西:真实变化 7 次,其中价格 2 次。有一次是 499 拆成 399 加 99 加购,如果只看单一价格字段,会误判成降价,实际是拆包提价。这类变化人肉很难发现,因为页面整体看起来差不多。

最容易错的 3 个地方

第一,抓整页。整页抓取看着保险,实际每天几百条噪声,看两天就废。正文容器要手工定位一次,别指望自动提取——自动提取遇到单页应用就返回空,你还会以为对方没更新。

第二,靠加阈值压噪声。「变化少于 5 处不通知」这种做法,会把真正的单点调价一起压掉。这次那条 299 降到 279 就是单条差异。正确做法是按区域白名单排除,不是按数量过滤。

第三,让模型解释动机。「对方在试探价格带」这种话写进日报,第二次就会有人拿它当决策依据。转述只写到「价格从 299 变成 279」,判断留给人,因为动机没有数据支撑。

可复用的东西

正文选择器:一页一个,手工定位一次,只抓正文容器。

按天快照:文件名带日期,保留 30 天,任意两天可重算。

段落级比对:按段落切,不按字符切,避免碎片化差异。

区域白名单:轮播、计数、推荐、时间戳四类直接排除,不靠数量阈值。

六字段差异表:日期、竞品、变化字段、原值、新值、是否跟进,一行一条。

常见问题解答

为什么不能整页抓取

整页一页 1,240 个节点,正文只占 300 多个,其余是导航、推荐、页脚、统计脚本,差异里九成来自这些区域。必须先手工定位一次正文容器的选择器,只抓这一块。单页应用要额外等 2 秒,否则抓到的是空壳。

为什么不能用数量阈值压噪声

阈值会把真正的单点调价一起压掉。这次那条 299 降到 279 就是单条差异,只要 1 处变化,用“少于 5 处不通知”就直接漏了。正确做法是按区域白名单排除轮播、计数、推荐、时间戳,而不是按数量过滤。

按段落比还是按字符比

按段落。价格从 299 改成 279 这种单字变化,按字符比会切出两行没有意义的碎片,还要人工拼回去。按段落比得到的是一条完整差异,能直接定位到段落序号,后面交给模型转述也更好处理。

首月只省 86 分钟值得做吗

第一月基本打平,价值从第二个月开始。搭建 90 分钟加 22 天运行 88 分钟,合计 178 分钟,对人工 264 分钟只省 86 分钟;第二个月没有搭建成本,88 对 264 省 176 分钟。要按半年的账来算,不是按月。

小程序阅读免费
微信扫码进入小程序,按岗位找 AI 实操步骤
微信扫码进小程序
按岗位找 AI 实操步骤 · 提示词可收藏

发表回复

后才能评论