基于B站的视频分析系统——面向美食视频内容生态的多源数据分析与可视化系统

目录

[1 项目背景与建设目标](#1 项目背景与建设目标)

[1.1 建设背景](#1.1 建设背景)

[1.2 建设目标](#1.2 建设目标)

[2 系统总体架构与技术路线](#2 系统总体架构与技术路线)

[2.1 总体架构](#2.1 总体架构)

[2.2 技术体系](#2.2 技术体系)

[3 数据采集、治理与存储](#3 数据采集、治理与存储)

[3.1 双路径数据采集](#3.1 双路径数据采集)

[3.2 数据清洗与标准化](#3.2 数据清洗与标准化)

[3.3 数据库存储与指标分层](#3.3 数据库存储与指标分层)

[4 视频传播特征的多维分析](#4 视频传播特征的多维分析)

[4.1 创作者与内容热度](#4.1 创作者与内容热度)

[4.2 发布节奏与视频时长](#4.2 发布节奏与视频时长)

[4.3 内容特征与标题表达](#4.3 内容特征与标题表达)

[5 评论文本的关键词、情感与主题挖掘](#5 评论文本的关键词、情感与主题挖掘)

[5.1 TF-IDF关键词提取](#5.1 TF-IDF关键词提取)

[5.2 评论情感结构](#5.2 评论情感结构)

[5.3 LDA潜在主题分析](#5.3 LDA潜在主题分析)

[6 可视化大屏与Web系统实现](#6 可视化大屏与Web系统实现)

[6.1 多主题可视化大屏](#6.1 多主题可视化大屏)

[6.2 系统功能集成](#6.2 系统功能集成)

[7 应用价值与后续扩展](#7 应用价值与后续扩展)

[7.1 应用场景](#7.1 应用场景)

[7.2 后续优化方向](#7.2 后续优化方向)

[8 项目总结](#8 项目总结)

每文一语


有需要本项目的代码、文档、完整资源,或者需要部署调试的朋友,可以私信博主。

1 项目背景与建设目标

1.1 建设背景

美食视频已经从单一的菜谱演示,逐步发展为融合生活记录、地域文化、情绪表达和社区互动的内容形态。播放量、点赞量、弹幕、评论与发布时间共同构成了内容传播的数字轨迹,但这些指标通常分散在平台页面、接口返回和评论区中,仅依靠人工浏览很难形成稳定、可复用的判断。创作者关心什么题材更容易获得关注,运营人员关心什么时间段更适合发布,分析人员则需要进一步理解高热度背后的互动结构与用户情绪。基于这些实际需求,我们搭建了一套覆盖数据采集、清洗治理、统计分析、文本挖掘、可视化展示和后台管理的完整系统。

系统围绕平台公开的美食分区数据展开,结构化数据用于刻画视频内容与传播表现,评论文本用于分析用户关注点和情感态度。两类数据在同一技术链路中汇合,使"内容表现"和"用户反馈"不再被割裂处理。项目最终形成约2万条有效视频记录,字段覆盖标题、作者、时长、发布时间、播放量、点赞数、弹幕数等14项核心特征;同时对代表性高互动视频采集6000余条评论,清洗后保留5519条可分析文本,为后续自然语言处理提供了语料基础。

1.2 建设目标

建设目标并不是简单制作几张统计图,而是形成一条可运行、可维护、可扩展的数据应用链路:前端能够查看趋势、筛选记录和切换主题大屏;后端能够完成账户鉴权、数据查询与接口响应;数据库能够同时保存原始明细和聚合指标;文本模块能够输出关键词、情感分类和潜在主题。通过这一设计,项目既可以作为数据分析课程或毕业设计的综合案例,也可以进一步改造成内容运营看板、创作者画像平台或热点趋势监测工具。

图 1 平台数据分析与批量采集过程展示

2 系统总体架构与技术路线

2.1 总体架构

系统采用分层设计,将复杂流程拆分为数据源、数据处理、分析建模、可视化服务和业务应用五个层次。数据源层负责接入视频详情与评论数据;处理层完成去重、缺失检查、时间字段转换、异常字符清理和字段标准化;分析层通过SQL、Pandas与文本算法生成可复用指标;服务层由Flask统一管理页面路由与RESTful接口;应用层则面向普通用户和管理员提供差异化功能。各模块之间通过数据库表和标准化接口连接,避免图表、算法和页面逻辑彼此耦合。

图 2 系统功能与分析模块总体结构

2.2 技术体系

项目后端以Python为主,数据采集使用HTTP请求与接口解析方式完成,Pandas承担数据合并、清洗和特征处理,MySQL负责明细数据与指标结果的持久化。结构化分析主要依赖SQL聚合与窗口统计;评论文本分析引入TF-IDF、SnowNLP、Gensim LDA与PyLDAvis;Web层使用Flask、Jinja2、AJAX和会话机制;前端图表由ECharts与Pyecharts共同完成。Pyecharts更适合快速生成独立HTML图表和静态主题页面,ECharts则用于动态读取接口数据并实现更细致的交互控制。

技术链路可以概括为五个环节:数据采集负责接口请求、分页控制与异常重试;数据治理负责合并去重、字段清洗和编码处理;分析建模负责统计聚合、关键词提取、情感分类与主题发现;数据服务负责持久化、权限校验和接口响应;可视化负责单页图表、主题大屏与交互式系统页面。各环节均保留独立输入输出,便于定位问题和替换组件。

3 数据采集、治理与存储

3.1 双路径数据采集

数据采集设计了两条相互补充的路径。第一条路径面向美食分区视频,按照分页或轮询方式批量获取稿件标识、标题、封面、作者、时长、发布时间和互动指标。程序在每轮请求后依据视频标识去重,并将新增结果即时写入本地文件,避免长时间运行过程中因网络波动造成全部数据丢失。第二条路径面向高互动样本的评论区,先获取评论总量和分页信息,再统一解析顶层评论与楼中楼回复,并附加评论标识、父级关系、时间、点赞数和回复数。请求过程设置合理延时与错误跳过机制,确保采集任务对目标平台保持克制。

为了保护公开展示中的信息边界,文档中的账号、真实用户字段、接口地址、页面标题和数据编号均进行了模糊或遮挡处理。项目演示只呈现功能结构与分析效果,部署环境中的Cookie、数据库连接、密钥和服务器信息不进入公开材料。

3.2 数据清洗与标准化

采集结果以多个CSV文件保存,进入分析前先按统一字段结构批量合并。清洗流程包括缺失值检查、重复项删除、时间戳本地化、字段类型转换和文本编码处理。视频标题、昵称与评论中可能包含Emoji或四字节字符,如果数据库字符集或导出工具配置不一致,容易出现写入失败或页面乱码,因此数据表统一采用utf8mb4编码,并在必要位置使用正则表达式剔除不可展示字符。经过处理的数据同时保留明细版与分析版,前者用于追溯,后者用于统计和可视化。

3.3 数据库存储与指标分层

MySQL数据库承担原始数据管理和指标结果缓存两项职责。视频明细表保存稿件标识、BV号、CID、标题、作者、发布时间和互动数据,并对高频查询字段建立索引。分析阶段不直接让每个页面重复扫描大表,而是根据发布趋势、时长区间、创作者表现、播放区间、点赞率和弹幕密度等主题生成聚合结果表。这样的"明细层---汇总层---应用层"结构能够减少页面加载压力,也便于后续更换图表或增加接口。

图 3 数据完整性检测与结构化存储展示

4 视频传播特征的多维分析

4.1 创作者与内容热度

围绕创作者维度,系统统计发布数量、累计播放量、平均播放量与互动表现,并通过排行榜、柱状图和组合图观察"高产"与"高质"之间的差异。样本中可以看到,发布数量较多并不必然对应更高的单条表现,部分账号作品不多,却凭借选题集中、制作完整或视觉风格鲜明获得较高的平均播放。对运营分析而言,这说明账号评价不能只依赖总量指标,应同时关注作品数、平均表现、互动率和内容稳定性。

播放量分布呈现明显的长尾特征,大量视频集中在中低播放区间,真正进入高热度区间的内容比例较小。高播放与高点赞样本往往具有更明确的标题刺激、完整叙事、特色食材或高制作投入,但这些现象属于描述性关联,不能直接解释为单一因素造成热度增长。系统保留散点图与区间统计,正是为了避免只看排行榜而忽视整体分布。

图 4 创作者活跃度与高热度内容分布

4.2 发布节奏与视频时长

时间分析从日、周、月和小时四个粒度展开。样本中的发布行为主要集中在下午至晚间,15:00---21:00形成较明显的活跃区间,16:00和17:00附近的上传量更高;按星期观察,周五发布相对集中,可能与创作者提前争取周末流量有关。月度新增量在特定阶段快速增长,但这类变化还会受到采集范围、统计截止时间和平台活动影响,因此系统将时间范围与数据更新时间同步展示,避免把阶段性波动误判为长期趋势。

时长分析显示,中等时长视频在数量上占据主体,而较长视频的平均播放量和平均点赞数表现更突出。这与平台用户对完整制作过程、故事背景和细节讲解的接受度有关。对于美食内容,短视频适合突出单一卖点,长视频则更适合承载制作流程、人物关系与文化叙事。系统不预设"越长越好",而是通过时长区间、播放量与互动率的联合展示,为不同内容定位提供数据参考。

图 5 视频发布节奏与时长表现分析

4.3 内容特征与标题表达

标题词云用于观察内容生态中的高频表达。样本中"好吃""自制""火锅""蛋糕""牛肉""简单"等词较为突出,反映出美食视频标题通常围绕口感、食材、制作方式与难度展开。词云并不替代严谨的文本统计,但可以作为快速浏览工具,帮助发现热门食材、常见叙事和潜在标签。结合播放量、点赞率与时长等指标后,可以进一步分析某类词语是否在特定内容形式中更常出现。

图 6 美食视频标题高频词展示

5 评论文本的关键词、情感与主题挖掘

5.1 TF-IDF关键词提取

评论文本具有短句多、口语化强、情绪词密集和上下文依赖明显等特点。清洗阶段先去除空文本、无效符号和停用词,再完成中文分词。TF-IDF同时考虑词语在单条评论中的频率和在全体语料中的稀缺程度,能够降低常见虚词的权重,突出更具区分度的词语。分析结果中既包含食物名称、地域文化和制作方式,也包含"厉害""支持""失败"等态度表达,说明用户评论并非单纯复述内容,而是在评价、联想和互动中不断生成新的语义。

图 7 TF-IDF关键词频次与评论词云展示

5.2 评论情感结构

情感分析使用SnowNLP为每条评论生成情感概率,并按照预设阈值划分为正面、中性和负面三类。清洗后的5519条评论中,正面评论2322条,约占42.1%;负面评论1988条,约占36.0%;中性评论1209条,约占21.9%。整体反馈偏积极,但负面表达同样占有较大比例。负向词云显示,用户的不满可能集中在制作结果、叙事安排、画面元素或预期落差等方面。相比单纯计算"好评率",保留负面关键词能够帮助定位具体争议点。

情感得分适合用于宏观结构观察,但通用模型可能无法准确识别反讽、网络梗、方言和"看似批评、实为调侃"的表达。因此系统将情感分析定位为辅助指标,并通过原文抽样、关键词词云和主题模型交叉验证,降低单一算法误判对结论的影响。

图 8 评论情感分布与负向高频词展示

5.3 LDA潜在主题分析

为了进一步理解评论在讨论什么,系统使用LDA对预处理语料进行无监督主题建模。建模时在多个主题数量之间进行对比,以c_v一致性得分作为辅助评价,主题数为5时取得较高的一致性得分0.6523,因此采用五主题方案进行解释。结合主题关键词和代表性评论,可以将讨论大致归纳为地域与文化背景、食物造型与口感、情绪反应、艺术表达以及视频制作与叙事结构五个方向。

PyLDAvis将主题权重、主题距离和关键词贡献展示在同一交互页面中。气泡位置用于观察主题之间的相似程度,气泡大小反映主题占比,右侧词条则展示选中主题的关键词分布。该结果不仅能服务评论分析,也可以进一步转化为内容标签、用户兴趣特征或推荐系统输入。

图 9 LDA主题数评估与主题交互可视化

6 可视化大屏与Web系统实现

6.1 多主题可视化大屏

可视化部分同时建设动态大屏和Pyecharts主题页面。动态大屏通过Flask接口返回实时数据,ECharts负责渲染发布趋势、互动指标、散点分布、区间占比和明细表格;Pyecharts则将20个单页图表重新组合为发布趋势、热度互动、创作者表现和内容结构4类主题大屏,并可导出为独立HTML文件。两种方案分别兼顾在线交互和离线演示,既适合浏览器端持续更新,也方便课堂汇报、项目答辩和会议展示。

图 10 动态多维分析大屏展示(已脱敏)

图 11 Pyecharts主题分析页面展示(已脱敏)

6.2 系统功能集成

Flask后端使用蓝图机制划分用户、管理员、数据管理、图表与大屏等模块。普通用户登录后可以浏览各类分析页面、切换图表、维护个人信息;管理员在此基础上可以新增、编辑、删除和筛选视频记录,并对用户账户和权限进行维护。系统通过Session保存登录状态,通过AJAX实现表格异步刷新,通过分页和条件查询控制大数据量页面的响应速度。对于视频明细,页面还保留数据追溯入口,便于从分析结果返回原始内容进行核验。

界面导航按照分析逻辑进行分组,创作者、发布节奏、视频时长、热度互动、弹幕评论和主题模型分别对应独立页面。图表模块采用iframe或模板嵌入方式加载,各页面可以单独更新,不需要改动整个系统。数据管理和用户管理页面中的真实字段已在公开版图片中统一模糊,完整字段定义、数据库脚本和部署配置保留在项目资源中。

图 12 Web可视化系统主界面展示

图 13 视频数据查询与管理页面(已脱敏)

图 14 用户与权限管理页面(已脱敏)

7 应用价值与后续扩展

7.1 应用场景

这套系统可以用于新媒体数据分析教学、短视频内容运营、创作者选题复盘和平台热点观察。教学场景中,它展示了从数据获取到Web部署的完整工程过程;运营场景中,它能够快速定位发布高峰、时长结构、互动区间和评论焦点;科研或课程设计场景中,结构化数据与文本数据的结合提供了更丰富的分析维度。完整资源可进一步替换数据源或主题领域,例如旅游视频、知识类视频、影视评论与商品评价。

7.2 后续优化方向

后续迭代可以从三个方向推进。第一,引入多平台数据并建立统一字段标准,提高结论的跨平台解释能力;第二,使用更适合网络短文本的中文预训练模型,改进反讽、方言和细粒度情绪识别;第三,在现有描述性分析基础上增加播放量预测、互动率预测、创作者聚类和内容推荐模块。工程层面还可以加入任务调度、增量采集、缓存、日志审计与容器化部署,使系统从项目原型逐步演进为长期运行的数据服务。

8 项目总结

项目完成了从公开数据采集、数据治理、MySQL存储、SQL统计,到TF-IDF关键词提取、情感分析、LDA主题建模,再到ECharts大屏与Flask后台集成的完整闭环。系统不只呈现"哪些视频更热",还进一步解释"用户在关注什么、以怎样的情绪参与讨论"。对我而言,最有价值的部分不是某一张图或某一个算法,而是把分散的技术模块组织成一套能够运行、能够演示、也能够继续扩展的应用。完整代码、数据库脚本、演示数据、部署说明和项目文档已配套整理,可用于学习、二次开发和部署调试。

每文一语

真正有价值的成长,往往来自把一个想法持续拆解、验证,并最终做成可以运行的作品。

相关推荐
ATA88882 小时前
Chat2DB vs Navicat vs DBeaver:架构差异与技术选型深度对比
数据分析·数据库管理·智能问数
CAIE研习社3 小时前
大学生数据分析作品集,应该包含哪些内容?
人工智能·数据分析
m0_547486664 小时前
《Python程序设计与数据分析》全套PPT课件
python·数据分析
民乐团扒谱机12 小时前
【全流程实战】LibTV节点式AI视频工作流落地教程|从剧本到成片可复用流水线,新手/开发者双版本
人工智能·音视频
私人珍藏库18 小时前
[Android] 美颜通 -实时视频通话直播美颜
智能手机·app·音视频·软件·多功能
lpfasd1231 天前
火山引擎 TOS 视频 `Content-Disposition: attachment` 排查实录
音视频·火山引擎
byte轻骑兵1 天前
【LE Audio】CSIS精讲[1]: 从核心定义到协议基础,读懂多设备协同的底层逻辑
人工智能·音视频·人机交互·蓝牙耳机·le audio·低功耗蓝牙音频
中微极客1 天前
从提示词到产品级视频:生成式AI的工程化实践与工具栈选型(LTX Studio实战)
人工智能·chatgpt·音视频
卷无止境1 天前
Python数据进阶专题:用声明式验证让数据管道告别"惊喜"
后端·python·数据分析