基于python+vue的电影票房可视化系统
使用爬虫爬取豆瓣Top250电影详情以及评论信息,对数据进行清洗、存储、分析展示,应用Python、Flask框架、Vue、Echarts等技术实现。
基于python+vue的电影票房可视化系统
一、介绍
使用爬虫爬取目标网站Top250电影详情以及评论信息,对数据进行清洗、存储、分析展示,应用Python、Flask框架、Vue、Echarts等技术实现。
二、系统功能
1、数据概览
使用爬虫爬取目标网站Top250电影数据后,将数据在此模块进行展示。
搜索
:输入电影类型、所属地区或电影名称后点击搜索,可对电影进行模糊查询
获取详情
:点击此按钮调用获取详情爬虫,开始获取电影详情信息
获取评论
:点击此按钮调用获取评论爬虫,获取该电影的评论信息(默认获取2页,可在爬虫中进行修改)
详情
:点击详情按钮,跳转到电影详情页面
2、地区均分
计算每个地区所有电影的平均分,用echarts世界地图热力图进行展示。
搜索
:输入电影类型,点击搜索按钮可获取各个类型电影的均分
3、评分排名
用echarts柱状图展示评分排名前三十电影以及具体评分。
4、类型均分
计算各个类型电影平均分进行展示,使用二路归并排序将数据从高到低排序。
可根据地区筛选各个地区电影类型均分。
5、年度上榜
用echarts散点图展示从1983年到至今,每年上榜电影数,可根据地区或者电影类型进行筛选。
6、语言排名
使用echats折线图,展示各个语言上榜次数
7、时长分析
使用echats饼状图,展示电影各种时长占比
8、人物分析
分析演员、导演、编剧所参与的电影上榜次数
9、评论词云
展示评论词云图,随机展示评论信息。
可根据地区、电影类型以及具体电影进行筛选,生成详细词云。
10、个人信息
用户查看个人信息,输入新的信息点击提交,可更新个人信息
11、修改密码
输入原密码与新密码,可修改密码
12、登录注册
用户登录注册
13、用户管理
该功能是管理员功能,管理用户信息
新增
:点击新增按钮,输入用户信息,可添加新用户
搜索
:输入用户名字和手机号码,点击搜索即可查询用户信息
编辑
:编辑用户信息
重置密码
:点击重置密码,可重置该用户密码
启用/停用
:对用户账号状态进行修改,被停用的用户无法登录系统
删除
:删除该账号
三、软件架构
后端
- python
- flask
前端
- vue
- iview
- echarts
所用python库
# 升级pip库,如果已升级可忽略
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
python -m pip install --upgrade pip
# flask库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Flask
# pymysql
pip install pymysql
#requests
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
#xlwt
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwt
#jieba
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
#wordcloud
pip --default-timeout=100 install wordcloud
#lxml
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml
#BeautifulSoup4
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple BeautifulSoup4
#fake_useragent
pip install fake_useragent
四、安装教程
- 安装python3.8(或附近版本均可)
- 安装上述所有python库
- 启动flask
# 启动flask命令
python app.py
- 安装node.js
- 安装vue库
- 安装cnpm
- 启动vue
# 安装vue库
cnpm i
# 启动vue
npm run serve
- 访问
http://localhost:8888/
五、工程目录结构
|douban
|-- dbserver 后端目录
|-- data 数据处理文件
|-- cloud.png 生成词云所用的背景图
|-- data_log.py 评论爬虫
|-- db_comment.py 评论爬虫
|-- db_detail.py 详情爬虫
|-- db_gf.py 高分电影爬虫(高分电影数据未做分析,可删除此文件)
|-- db_top250.py top250票房爬虫
|-- mysqlHelper.py mysql工具类
|-- timeHelper.py 时间工具类
|-- app.py flask启动类
|-- bus_home.py 接口-业务相关
|-- bus_index.py 接口-系统管理
|-- bus_cloud.py 生成词云
|-- db_web
|-- node_modules node包
|-- public 结构文件
|-- src
|--api 接口
|--assets 静态文件
|--components 系统组件
|--router 路由
|--store 路由
|--utils 工具类
|--views 页面
|-- tests 测试类
|-- vue.config.js vue配置类
六、表结构
|p_jingdong_shouji
|-- tbl_comment 评论表
|-- tbl_data_log 日志表
|-- tbl_db_detail 详情表
|-- tbl_db_top250 top250表
|-- tbl_movie 电影表(此表内容未做分析,可删除)
|-- tbl_user 用户表
更多推荐
所有评论(0)