【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统

基于Flask+Vue的电影数据可视化与智能推荐系统

一、项目简介

本系统是一套以豆瓣电影数据为对象的数据采集、分析与推荐平台。后端采用 Flask、SQLAlchemy 与 MySQL,前端采用 Vue、Vuetify、ECharts 与 Vuex;系统将电影信息、评论、人物信息爬取,数据看板可视化,协同过滤推荐和中文评论情感分析整合到一个前后端分离项目中。

项目实际包含电影、用户、订单、文件、支付宝、百度等 API 模块,推荐算法包含 ItemCF.pyUserCF.py,深度学习目录包含 LSTM 模型定义、训练与预测脚本;Scrapy 项目包含电影评论、电影详情、电影条目和人物信息爬虫。

二、系统功能

1.1 用户端功能

账户与个人资料管理

用户可注册、登录并在账户设置中维护账户资料、密码、安全信息和个人相关记录。userApi.py 为用户认证与资料业务提供接口支持。

电影资源浏览与检索

用户可在首页、电影库和电影详情等页面浏览电影基础信息、热门电影和影片相关数据。movieApi.py 为电影列表、详情、热门内容和推荐结果提供后端接口。

数据看板与可视化分析

前端包含折线图、柱状图、饼图、词云、时间图、地图和综合 Dashboard 页面,用于展示电影评分、类型、时间分布、评论词频等多维数据。Charts 相关视图提供不同维度的图表呈现。

个性化电影推荐

系统提供 ItemCF 和 UserCF 两类协同过滤推荐。ItemCF 基于电影之间的相似度寻找用户可能感兴趣的影片,UserCF 基于相似用户的历史偏好生成推荐列表;推荐结果在前端电影页面中展示。

评论情感分析

用户可在机器学习页面输入中文评论文本。predict_lstm.py 调用训练后的 LSTM 模型完成情感倾向预测,前端 SentimentalAnalysis.vue 用于展示分析交互和结果。

1.2 数据处理与后台功能

豆瓣数据爬取

Scrapy 项目包含 movie_meta.pymovie_comment.pymovie_subject.pyperson_meta.py 等爬虫,用于采集电影详情、评论、条目和人物相关数据。管道、代理和 Cookie 等辅助文件配合处理数据采集过程。

电影数据与订单业务

后端通过电影、订单、文件等 API 管理平台业务数据。订单和支付模块包括 orderApi.pyalipayApi.py,文件模块由 fileApi.py 提供支持。

模型训练与维护

deeplearning/train.py 用于 LSTM 情感分析模型训练,model.py 定义模型结构,vocab.json 保存词汇相关数据。推荐算法和深度学习模型可基于已采集或导入的数据持续更新。

三、技术栈

层级 技术 说明
后端 Flask 2.0.2、SQLAlchemy、Flask-Marshmallow API 与数据模型
数据库 MySQL 8.0 电影、评论、用户和订单数据存储
前端 Vue 2.6、Vuetify、Vuex、Vue Router、Axios 页面、组件与状态管理
数据可视化 ECharts 4.2.1 多类型电影数据图表
数据采集 Scrapy 豆瓣电影和评论数据爬取
推荐算法 ItemCF、UserCF 协同过滤电影推荐
情感分析 PaddleNLP、PaddlePaddle、LSTM 中文评论情感预测

四、项目结构

bash 复制代码
Douban-Movie-Visualization/
├── Flask/
│   ├── api/
│   │   ├── movieApi.py               # 电影接口
│   │   ├── userApi.py                # 用户接口
│   │   ├── orderApi.py               # 订单接口
│   │   ├── fileApi.py                # 文件接口
│   │   └── alipayApi.py              # 支付相关接口
│   ├── algorithm/
│   │   ├── ItemCF.py                 # 基于物品的协同过滤
│   │   └── UserCF.py                 # 基于用户的协同过滤
│   ├── deeplearning/
│   │   ├── model.py                  # LSTM 模型定义
│   │   ├── train.py                  # 模型训练
│   │   └── predict_lstm.py           # 情感预测
│   └── requirements.txt
├── vue/src/views/
│   ├── Charts/                       # ECharts 图表页面
│   ├── MachineLearning/              # 机器学习与情感分析页面
│   ├── Home.vue、Library.vue          # 电影浏览页面
│   └── AccountSettings/              # 账户设置页面
├── scrapy/douban/spiders/            # 电影、评论和人物爬虫
└── 数据库/flask_douban_comment.sql   # 数据库脚本

五、环境要求

  • Python 3.7+
  • MySQL 8.0
  • Node.js 14+
  • pip、npm

六、数据库初始化

创建数据库 flask_douban_comment 并导入项目提供的 SQL 文件。随后按本机环境修改 Flask 的数据库连接配置。

bash 复制代码
mysql -u root -p --default-character-set=utf8mb4 flask_douban_comment < 数据库/flask_douban_comment.sql

七、后端启动

bash 复制代码
cd Flask
pip install -r requirements.txt
python app.py

后端默认地址为 http://localhost:5000

八、前端启动

bash 复制代码
cd vue
npm install
npm run serve

九、默认账号

项目未提供可确认的默认账号,请以数据库初始化数据为准。

十、业务流程说明

9.1 数据采集与可视化流程

Scrapy 爬虫采集电影详情、评论和人物信息,并通过管道处理后写入数据库。前端图表页面调用电影相关接口读取统计数据,将评分、类型、时间、词频等分析结果以柱状图、折线图、饼图、词云等形式呈现。

9.2 推荐与情感分析流程

用户浏览电影或产生相关行为后,系统读取电影及用户行为数据,分别使用 ItemCF、UserCF 计算推荐候选结果并返回前端。用户输入评论文本时,LSTM 情感模型加载训练成果进行预测,并将情感分析结果展示在机器学习页面。

十一、交付内容

  1. Flask 后端、Vue 前端、Scrapy 爬虫及推荐和情感分析模块完整源码。
  2. 电影数据数据库脚本文件。
  3. 项目说明文档,包含功能说明、环境、初始化和启动步骤。

本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。

个人网址:https://michael-jay.pages.dev/

相关推荐
满怀冰雪1 小时前
24-PaddleClas 模型评估、导出与推理部署入门
大数据·人工智能·python·深度学习·paddle
FreeTinker6 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396236 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
DeepVisionary7 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
阡之尘埃7 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
海兰7 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
cvcode_study7 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
wangruofeng7 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne8 小时前
WebRTC Native / Android 开发学习资源整理
前端