这个项目解决什么问题
新闻每分钟都在产生,但"看了很多条新闻"和"知道现在什么在升温"是两回事。本项目把散落在多个 RSS 源的新闻聚合起来,用一套热度指数算法找出正在变热的话题,再聚合成"热点事件",最终呈现在一块深色科技感大屏上。它回答的正是舆情分析最核心的问题:怎么从海量文本里,把"趋势"捞出来。
核心亮点
- 热度指数算法:不是简单数词频——词频 × 时间衰减 × 源权重,24 小时内的新闻天然更热。这个公式怎么调出来的、每个因子为什么存在,源码里有答案。
- 热词排名变化追踪:大屏不只显示 Top20 热词,还标注"新上榜"和"↑2"这类排名变化——看的是趋势而不是快照,这是和同类项目拉开差距的细节。
- 标题相似度聚类:用 Jaccard 相似度把标题相近的新闻聚合成"热点事件",大屏展示的是事件而非碎片。课程汇报讲清楚"为什么聚类"比讲"用了什么算法"更有说服力。
- snownlp 情感分析:自动标注每条新闻的正/中/负情感倾向,大屏实时呈现整体情绪占比。
- APScheduler 定时抓取:后台定时拉取内置的 4 个公开 RSS 源,无需任何 API Key,跑起来就有源源不断的新数据。爬虫的容错设计(某个源挂了怎么办)也考虑到了。
- ECharts 词云 + 多图联动:趋势折线、分类环图、事件 Top 榜同屏共振,视觉效果直接拉满课程汇报现场。
效果预览
深色可视化大屏——发文量趋势、热词 Top20(带排名变化标注)、分类占比、情感分布、热点事件榜,一屏尽收:

新闻列表页——按关键词搜索,来源与分类标签一目了然:

你将学到
- 爬虫的容错设计:超时、断源、脏数据怎么优雅处理
- 中文文本处理:jieba 分词、停用词、词频统计的工程化做法
- APScheduler 定时任务的配置与调试
- 前后端分离的 JSON API 设计(大屏只吃接口,数据全部来自后端计算)
- 大屏可视化:ECharts 多图表布局与配色套路
适合谁
需要一个展示型汇报项目的毕业生——大屏视觉效果好,评委看到第一眼就有印象;也适合想入门"数据采集 + 文本挖掘 + 可视化"完整链路的学习者。难度 ★★★☆,算法部分有梯度但都有注释引导。
交付内容:完整可运行源码、README.md(逐步运行方法与实现说明)、requirements.txt。
许可:个人使用,可用于自己的学习、课程实验与研究报告,请勿转售或公开传播。