9.5 KiB
9.5 KiB
微信公众号财经分析网站需求文档
1. 项目定位
1.1 项目名称
财经内容日报网站
1.2 项目目标
建设一个可部署到服务器的网站,用于每天汇总财经新闻与大V观点,并生成可浏览的财经日报页面。
1.3 技术方向
- 前端:Vue 3 + Vite
- 后端:Python + FastAPI
- 存储:首期以 JSON 文件为主,后续可迁移 SQLite / MySQL
1.4 当前版本原则
- 网站以“可落地、可维护、可每日使用”为第一优先级
- 不强依赖全自动发现微信公众号最新文章
- 大V观点模块首期采用“手动录入当天文章链接 + 系统自动抓取和分析”的模式
- 财联社模块优先接入财联社官网或 APP 可获取的公开数据
2. 项目范围
网站包含 3 个核心模块:
- 财联社新闻
- 大V观点
- 日报录入
3. 目标数据来源
3.1 财联社新闻
- 财联社
- 财联社 AI Daily
说明:
- 如果微信公众号端无法稳定自动获取,允许直接使用财联社官网或 APP 的公开内容作为主要数据源
- 财联社模块目标是获取最近一周的资讯汇总,不依赖手动逐条录入
3.2 大V观点公众号
- 投资明见
- 爱股君2020
- 马志明收评
- 老白分析室观点
说明:
- 一个公众号一天可能发布多篇文章
- 系统必须支持同一公众号在同一天录入多条链接
4. 核心业务流程
4.1 财联社新闻流程
- 后端定时抓取财联社最新资讯
- 将资讯缓存到本地
- 基于最近一周数据生成汇总分析
- 前端展示最近一周资讯、热点板块、简要总结和参考链接
4.2 大V观点流程
- 用户每天进入“日报录入”页面
- 选择日期
- 按公众号录入当天文章链接
- 后端抓取文章标题、发布时间、正文、摘要等内容
- 系统进行摘要、板块识别、情绪倾向分析
- 生成当日大V观点日报
- 前端按日期展示日报,支持切换历史日期
4.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}.jsondata/reports/{date}.jsondata/cls_news/weekly.json
9.2 数据类型
- 每日录入数据
- 每日报告数据
- 财联社缓存数据
- 抓取错误记录
9.3 后续扩展
后续可迁移到数据库,支持:
- 用户体系
- 后台管理
- 多人协作录入
- 更复杂的历史检索
10. 接口建议
建议后端至少保留以下接口:
GET /api/accountsGET /api/daily-inputs/{date}PUT /api/daily-inputs/{date}POST /api/reports/{date}/generateGET /api/reportsGET /api/opinions/{date}GET /api/cls-newsPOST /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 首期优先级
- 先打通日报录入 -> 抓取 -> 生成日报 -> 展示
- 再完善财联社定时刷新和最近一周缓存
- 最后优化页面视觉与部署结构
15.2 推荐开发顺序
- 先定义数据结构
- 再完成 FastAPI 接口
- 再开发 Vue 页面
- 最后补调度和部署脚本