Files
cjfx/微信公众号财经分析需求.md
2026-03-20 22:59:54 +08:00

439 lines
9.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 微信公众号财经分析网站需求文档
## 1. 项目定位
### 1.1 项目名称
财经内容日报网站
### 1.2 项目目标
建设一个可部署到服务器的网站用于每天汇总财经新闻与大V观点并生成可浏览的财经日报页面。
### 1.3 技术方向
- 前端Vue 3 + Vite
- 后端Python + FastAPI
- 存储:首期以 JSON 文件为主,后续可迁移 SQLite / MySQL
### 1.4 当前版本原则
- 网站以“可落地、可维护、可每日使用”为第一优先级
- 不强依赖全自动发现微信公众号最新文章
- 大V观点模块首期采用“手动录入当天文章链接 + 系统自动抓取和分析”的模式
- 财联社模块优先接入财联社官网或 APP 可获取的公开数据
## 2. 项目范围
网站包含 3 个核心模块:
1. 财联社新闻
2. 大V观点
3. 日报录入
## 3. 目标数据来源
### 3.1 财联社新闻
- 财联社
- 财联社 AI Daily
说明:
- 如果微信公众号端无法稳定自动获取,允许直接使用财联社官网或 APP 的公开内容作为主要数据源
- 财联社模块目标是获取最近一周的资讯汇总,不依赖手动逐条录入
### 3.2 大V观点公众号
- 投资明见
- 爱股君2020
- 马志明收评
- 老白分析室观点
说明:
- 一个公众号一天可能发布多篇文章
- 系统必须支持同一公众号在同一天录入多条链接
## 4. 核心业务流程
### 4.1 财联社新闻流程
1. 后端定时抓取财联社最新资讯
2. 将资讯缓存到本地
3. 基于最近一周数据生成汇总分析
4. 前端展示最近一周资讯、热点板块、简要总结和参考链接
### 4.2 大V观点流程
1. 用户每天进入“日报录入”页面
2. 选择日期
3. 按公众号录入当天文章链接
4. 后端抓取文章标题、发布时间、正文、摘要等内容
5. 系统进行摘要、板块识别、情绪倾向分析
6. 生成当日大V观点日报
7. 前端按日期展示日报,支持切换历史日期
### 4.3 历史日报流程
1. 每天生成独立日报数据
2. 数据按日期保存
3. 网站支持按日期查看历史日报
## 5. 功能需求
### 5.1 模块一:财联社新闻
#### 5.1.1 功能目标
展示最近一周财联社相关新闻,并形成持续滚动更新的财经资讯模块。
#### 5.1.2 刷新频率
- 默认每 30 分钟更新一次
- 页面支持手动立即刷新
#### 5.1.3 展示内容
每条资讯至少包含:
- 标题
- 发布时间
- 来源
- 简要摘要
- 参考链接
- 情绪倾向
- 涉及板块
#### 5.1.4 汇总内容
模块顶部需要提供最近一周的简要汇总,包括:
- 最近一周资讯概览
- 热点方向总结
- 当前值得关注的板块
#### 5.1.5 展示要求
- 财联社列表按时间倒序展示
- 不需要堆砌过多统计卡片
- 信息以内容为主,次要数据弱化展示
### 5.2 模块二大V观点
#### 5.2.1 功能目标
按天展示财经类大V公众号观点不同日期严格分开展示。
#### 5.2.2 日期规则
- 页面默认显示当天数据
- 支持通过日期 Tab 切换历史日报
- 两天的数据不能混在一起展示
#### 5.2.3 展示内容
每篇文章至少展示:
- 公众号名称
- 标题
- 发布时间
- 摘要
- 参考链接
- 涉及板块
- 情绪倾向
#### 5.2.4 当日汇总
每个日期需要有一段“当日总结”用于概括当天大V整体观点。
#### 5.2.5 页面展示取舍
- 板块信息仅作为辅助信息,使用小标签展示,不单独占很大篇幅
- “摘要”和“文章列表”不要分成两块重复区域
- 应将当日总结与文章列表放在同一信息区域内,减少重复
- 页面尽量减少无效说明、冗余统计和不必要的装饰
### 5.3 模块三:日报录入
#### 5.3.1 功能目标
提供每天的录入入口,供用户录入各公众号当天文章链接。
#### 5.3.2 基本能力
- 选择录入日期
- 按公众号录入文章链接
- 支持新增多条链接输入框
- 支持删除错误链接
- 支持保存
- 支持点击“生成日报”
#### 5.3.3 数据规则
- 同一公众号同一天可录入多篇文章
- 空链接不保存
- 重复链接应自动去重
- 某公众号当天未录入时,可为空
## 6. 抓取与分析需求
### 6.1 文章抓取字段
对于录入的微信公众号文章,后端至少提取:
- 公众号名称
- 文章标题
- 发布时间
- 摘要
- 正文内容
- 原始链接
- 最终跳转链接
### 6.2 内容清洗
需要对正文做基础清洗,包括:
- 去掉无关关注提示
- 去掉营销尾部文案
- 保留正文主要段落
### 6.3 分析输出
系统需要对每篇文章输出:
- 摘要
- 文章类型
- 涉及板块
- 情绪倾向
### 6.4 板块识别范围
首期可先支持以下常见板块:
- AI
- 算力
- CPO
- 存储芯片
- 半导体
- 券商
- 石油天然气
- 新能源
- 军工
- 机器人
- 汽车
- 医药
### 6.5 情绪倾向
首期支持以下三类:
- 看多
- 看空
- 中性
## 7. 前端设计需求
## 7.1 整体设计方向
- 网站不是后台管理页风格,而是偏内容型、财经资讯型页面
- 视觉上应偏专业、克制、清晰
- 以“内容优先”而不是“大量统计卡片优先”
### 7.2 布局要求
- 桌面端采用左侧导航 + 右侧内容区的结构
- 移动端自动切换为上下布局
- 页面尽量避免出现明显滚动条
- 即使需要滚动,也尽量隐藏滚动条视觉表现
### 7.3 信息展示要求
- 减少无用信息
- 弱化不重要的说明文字
- 缩小板块信息的占比
- 不要重复展示相同摘要
- 避免一屏里出现太多层级相近的卡片
### 7.4 各模块前端表现
#### 财联社新闻
- 顶部只保留必要的刷新时间和刷新按钮
- 使用一段简短总述说明最近一周情况
- 热点板块用小标签展示
- 资讯列表直接展示标题、摘要、时间、链接
#### 大V观点
- 顶部显示日期 Tab
- 当日总结与文章列表整合到同一区域
- 板块信息使用小标签
- 每篇文章以卡片列表展示,突出标题和摘要
#### 日报录入
- 输入页要密集但不拥挤
- 一个公众号一张录入卡片
- 卡片内部支持多链接输入
- 底部保留“保存录入”和“生成日报”两个主操作
## 8. 后端需求
### 8.1 服务能力
后端需要提供以下核心能力:
- 获取公众号名单
- 获取某天的录入内容
- 保存某天录入内容
- 根据某天录入内容生成日报
- 获取某天的大V观点日报
- 获取财联社最近一周数据
- 手动刷新财联社数据
### 8.2 调度能力
- 财联社数据支持定时刷新
- 大V日报按需生成
- 后续可扩展为自动定时生成日报
### 8.3 容错要求
- 某篇文章抓取失败不影响整天日报生成
- 失败项要记录错误原因
- 已抓取成功的数据正常保留
## 9. 数据存储要求
### 9.1 首期存储方式
首期使用本地文件存储,至少包含:
- `data/daily_inputs/{date}.json`
- `data/reports/{date}.json`
- `data/cls_news/weekly.json`
### 9.2 数据类型
- 每日录入数据
- 每日报告数据
- 财联社缓存数据
- 抓取错误记录
### 9.3 后续扩展
后续可迁移到数据库,支持:
- 用户体系
- 后台管理
- 多人协作录入
- 更复杂的历史检索
## 10. 接口建议
建议后端至少保留以下接口:
- `GET /api/accounts`
- `GET /api/daily-inputs/{date}`
- `PUT /api/daily-inputs/{date}`
- `POST /api/reports/{date}/generate`
- `GET /api/reports`
- `GET /api/opinions/{date}`
- `GET /api/cls-news`
- `POST /api/cls-news/refresh`
## 11. 非功能需求
### 11.1 可维护性
- 数据抓取、分析、展示分层清晰
- 公众号名单可配置
- 板块词典可扩展
### 11.2 可部署性
- 支持部署到服务器
- 前后端可独立构建
- 支持后续接入 Nginx / Supervisor / Docker
### 11.3 可扩展性
- 后续可新增更多公众号
- 后续可增加 AI 摘要与分析能力
- 后续可增加定时任务和消息通知
## 12. 当前版本边界
### 12.1 当前确认纳入
- 财联社最近一周新闻汇总
- 大V观点按天展示
- 每天的手动链接录入
- 同一公众号同一天多篇文章支持
- 财联社 30 分钟刷新
### 12.2 当前不作为首期刚需
- 全自动发现所有公众号最新文章
- 微信公众号平台登录态自动轮询
- 复杂权限系统
- 多用户后台
## 13. MVP 交付范围
首期必须完成:
- 一个可访问的网站
- 三个核心模块可正常使用
- 可录入当天大V文章链接
- 可生成并查看当日大V观点日报
- 可查看财联社最近一周资讯
- 页面具备基础美观度与可读性
## 14. 验收标准
### 14.1 财联社模块验收
- 能展示最近一周财联社资讯
- 支持 30 分钟内缓存读取
- 支持手动刷新
- 页面可看到摘要、链接、板块和更新时间
### 14.2 大V观点模块验收
- 可按日期切换日报
- 不同日期内容不混合
- 每篇文章可看到摘要与链接
- 每天有独立总结
### 14.3 日报录入模块验收
- 可为某一天录入多个公众号链接
- 同一公众号可录入多篇
- 可保存后再次编辑
- 可点击生成日报
### 14.4 前端验收
- 页面没有明显冗余信息
- 板块信息占比明显缩小
- 大V摘要与文章列表已整合
- 桌面端浏览不显得拥挤,滚动条视觉弱化
## 15. 开发建议
### 15.1 首期优先级
1. 先打通日报录入 -> 抓取 -> 生成日报 -> 展示
2. 再完善财联社定时刷新和最近一周缓存
3. 最后优化页面视觉与部署结构
### 15.2 推荐开发顺序
1. 先定义数据结构
2. 再完成 FastAPI 接口
3. 再开发 Vue 页面
4. 最后补调度和部署脚本