🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅
项目介绍
流程:
1.DrissionPage自动化爬虫框架采集猫眼电影数据约10万条存入mysql数据库、.csv文件作为数据集(旅游数据、用户数据、评论数据);
2.使用pandas+numpy或MapReduce对数据进行数据清洗,生成最终的.csv文件并上传到hdfs(含nlp情感分析);
3.使用hive数仓技术建表建库,导入.csv数据集;
4.离线分析采用hive_sql完成,实时分析利用Spark之Scala完成;
5.统计指标使用sqoop导入mysql数据库;
6.使用flask+echarts进行可视化大屏幕炫酷展示;
创新点/特色:
1.全新DrissionPage爬虫框架,性能强悍碾压selenium/requests等常见传统Python爬虫技术;
2.可视化炫酷大屏幕;
3.虚拟机显摆敲命令碾压答辩现场(市面上全是假算法假爬虫假大数据都不带用虚拟机的); 4.CNN K-Means深度学习票房预测;
5.Spark实时计算+Hive、Hadoop离线计算双实现有效避免导师喷你;
可选装web电影推荐系统 APP电影推荐系统 小程序电影推荐系统 电影后台管理系统
核心代码解析学习如下:
from flask import Flask,session,render_template,Blueprint,redirect,request
from config import Config
import re
from db import db
# 添加后台管理
from flask_admin import Admin
from flask_sqlalchemy import SQLAlchemy
from flask_admin.contrib.sqla import ModelView
# 添加模型引用,模型在models文件夹已定义完成
from models.history import History
from models.house_info import house_info
from models.user import User
from flask_babelex import Babel
# 使用flask_babelex可以显示中文,该模块用于做国际化
# babel = Babel(app)
import os
app = Flask(__name__)
# 使用flask_babelex可以显示中文,该模块用于做国际化
babel = Babel(app)
app.config.from_object(Config)
db.init_app(app)
# 添加后台管理
# 初始化Flask admin
# admin = Admin(app, name="Flask Admin")
admin = Admin(app, name=u"后台管理系统", template_mode="bootstrap3")
# -----------------------------------------------------------------------------
# 3、第三步: 定义数据模型AdminView
# 定义模型 【History、User、house_info】
# 已完成,请见 models文件夹
# 4、第四步: 注册加入视图 (将模型添加到后台管理)
# admin.add_view(MyModelView(User, db.session)) 参考1
# admin.add_view(ModelView(User, db.session)) 参考2
admin.add_view(ModelView(house_info, db.session))
admin.add_view(ModelView(History, db.session))
# admin.add_view(ModelView(User, db.session)) # 与52行冲突
# 注册蓝图
from views.user import user
from views.page import page
app.register_blueprint(user.ub) # 这行不要注释。否则报错
app.register_blueprint(page.pb)
@app.route('/')
def index():
return redirect('/user/login')
@app.before_request
def before_requre():
pat = re.compile(r'^/static')
if re.search(pat,request.path):
return
if request.path == "/user/login" :
return
if request.path == '/user/registry':
return
uname = session.get('username')
if uname:
return None
return redirect("/user/login")
@app.route('/<path:path>')
def catch_all(path):
return render_template('404.html')
if __name__ == '__main__':
app.run()