人民日报信号雷达(rmrb-signal)
把人民日报的版面安排翻译成内容创作者的选题信号。数据源是人民日报官方电子版公开页面,纯标准库实现,无需安装任何依赖。
定位(设计原则,不要偏离)
这个 skill 的用户是中文时政财经内容创作者。他们要的不是"人民日报数据",而是三样东西:
- 议程信号:哪个议题进入"点名周期"(多版面集中推进)
- 时间窗口:官方定调日到部委细则落地日之间的内容窗口
- 信源背书:带版面号的引用格式,提升文章可信度
输出简报时始终围绕这三点组织,不要罗列原始数据。人民日报的定位是"信号量极大,信息量不大"——它不追突发,它给框架。
标准工作流
脚本:scripts/rmrb_signal.py(纯标准库,Python 3.9+)。
首次使用
python scripts/rmrb_signal.py fetch --since-days 14
回补最近 14 天(分析层的基线对比需要至少 5 天历史数据)。
每日使用
python scripts/rmrb_signal.py fetch
python scripts/rmrb_signal.py analyze
先 fetch 再 analyze,两步一起跑,输出当天简报。
常用参数
- fetch --date YYYY-MM-DD 抓指定日
- fetch --since-days N 回补最近 N 天
- analyze --date YYYY-MM-DD 分析指定日
- --out 目录(默认 ./data/rmrb),建议在项目根运行,数据落在项目内
数据文件:seen.json(文章 ID 状态库,增量判定依据)、YYYY-MM-DD.json(每日版面索引)。
简报解读规范
analyze 输出五段:今日概览 / 主题热度 / 点名周期 / 评论版标题素材 / 新词爬坡。向用户转述时按以下规则解读,详细方法论见 references/methodology.md:
- 点名周期:CYCLE_PATTERNS 命中的标题簇,含义是"官方正在集中推进该议程"——对创作者是"现在写这个题材有时效红利"的信号
- 主题热度:词表命中统计,单日 3 篇以上标记为点名日。跨天趋势比单日绝对值重要
- 新词爬坡:近期二词组相对前 30 天基线出现频次加速。爬升簇=新话术前导,常先于产业政策落地
- 评论版标题:官方评论标题的栏目结构(人民时评/人民锐评等),可拆写法、可预判媒体议程
解读时的红线:
- 输出"官方口径"和"可观察事实"(版面、频次、栏目),不要替官方定性,不要做政治解读
- 引用必须带日期和版面号,格式:《人民日报》YYYY-MM-DD 第NN版
- 时政敏感题材(领导人/党建/外交)只做信号提示,不做内容创作建议;产业/民生/科技类才是创作角度的适用区
故障排查
- 某天 fetch 404/SKIP:当天尚未出报(凌晨)或日期格式错误,次日出报后重跑即可自动补上
- URL 结构变化(版面规则改版):检查脚本头部 LAYOUT_URL/CONTENT_URL 与三个正则,这是仅有的三处需要维护的位置
- 增量为 0 但用户期待新文章:确认当天是否为节假日(8 版左右是正常缩版,不是故障)
已验证数据(截至 2026-11-03)
- 每天 365 天出报,节假日缩至 8 版,工作日约 20 版
- 单日文章 34~97 篇,单日抓取约 21 个请求,几秒完成
- 文章 ID 全局唯一单调递增,增量判定零漏报