这是一个用于展示和浏览“k王朝吧”(百度贴吧)完整历史存档的 Web 系统。系统前端采用玻璃拟态暗黑风 (Neon Glassmorphic Dark Mode) 界面设计,并基于 Flask + SQLite 架构开发,提供极佳的交互体验与数据可视化分析功能。
- 暗黑霓虹视觉设计:利用玻璃拟态(Glassmorphism)与半透明磨砂质感卡片设计,搭配霓虹紫与网络青等高对比度发光色。
- 全站历史活跃度热力图:侧边栏嵌入 GitHub 风格的网站历史活跃热力图(2008 - 2022),每月细分上中下三旬(每年36格),支持鼠标悬浮显示当前旬度的详细动态数量。
- 用户画像悬浮卡片(分轨图表):
- 鼠标悬浮在任意用户名/头像上时,自动触发 debounced 用户卡片。
- 卡片内嵌 HTML5 Canvas 双通道折线图,上下分轨展示“个人活跃轨迹”与“全站大盘走势”,彻底解决重叠无法分辨的问题。
- 悬停图表支持实时垂直准星对齐和小白点追踪定位,动态计算展示如
2011年6月中旬: 3 / 244 贴的比例详情。 - 精确展示该用户的活跃度(发帖量)和首尾发帖活跃区间(精确到月日,如
2011.03-05 - 2012.08-11)。
- 多维度精细化排序:支持“发帖时间最新 (NEW)”、“发帖时间最早 (OLD)”、“最后回复最新”、“最后回复最早”以及原生的“按热度(回复总数)排序”共 5 种排序策略。
- 核心贡献者 modal 弹窗:支持在右侧栏“核心贡献者 (Top 5)”卡片下点击查看全部贡献者,滑出全站活跃贡献者总榜单,弹窗内的列表同样集成用户 Hover 卡片功能。
- Timeline 楼中楼回复:主贴内容包含楼层定位、IP 属地显示、图片点击 Lightbox 灯箱放大以及完全折叠/展开的二级评论(楼中楼)嵌套时间线。
BaseballExp/ (项目根目录)
├── app.py # Flask 网站主应用程序
├── requirements.txt # 项目 Python 依赖包声明 (Flask, gunicorn 等)
├── gunicorn.conf.py # Gunicorn 生产服务器配置 (Render 部署用)
├── k_wangchao_tieba.db # SQLite 只读历史数据库 (包含查询加速索引)
├── crawl_k_wangchao.py # 贴吧数据爬虫脚本 (记录数据来源历史)
├── create_indexes.py # 数据库快速索引设置脚本
├── .gitignore # Git 忽略提交规则配置文件
└── README.md # 本说明文件
├── static/ # 静态资源目录 (CSS 样式、JS 逻辑交互)
│ ├── bbs.css # 暗黑玻璃拟态样式表
│ └── bbs.js # 双轨折线图、灯箱与 Hover 卡片逻辑
└── templates/ # Jinja2 HTML 模板目录
├── bbs.html # 论坛首页 (帖子列表 + 侧边栏热力图)
└── bbs_thread.html # 帖子详情页 (回帖层 + 嵌套时间线)
- 确保已安装 Python 3.8+ 环境。
- 安装依赖:
pip install -r requirements.txt
- 运行 Flask 服务:
python app.py
- 在浏览器中打开:http://127.0.0.1:5000/bbs 即可访问。
本项目支持在各大云服务平台免费上线(由于是只读存档,SQLite 数据库随代码直接上传提交即可):
- Render(推荐):连接 GitHub 仓库,创建一个 Python Web Service,构建命令输入
pip install -r requirements.txt,启动命令输入gunicorn app:app即可,Render 会自动读取gunicorn.conf.py绑定10000端口。 - PythonAnywhere:创建手动配置 Python 3.10 的 Web 实例,上传根目录文件,指定 Working Directory 及虚拟环境,编写简易 WSGI 文件即可实现无睡眠冷启动的永久在线网站。
Tip
详细的一步步云平台控制台部署步骤请参考本地部署指南文件:deployment_guide.md