node_modules网盘下载:https://wwd.lanzout.com/iuJdq1p7gd9c
Python3.11.6
Windows11
Pycharm2022.3.3专业版
VSCODE
NODE.JS 12
Mysql8
后端框架:Flask
请确保进行此步骤前,配置好python、Pycharm编辑器与mysql8的环境 打开Pycharm,打开项目,设置项目解释器为Python3.11.6 在pycharm中打开终端(Ternimal)输入来安装依赖
pip install -r requirements.txt
安装依赖完成后,在app/config.py中修改数据库连接配置:
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://你的mysql用户名:你的mysql密码@127.0.0.1/" + DATABASE
在app/controller/back_food_controller.py中修改数据库连接配置:
使用Navicat等数据库管理工具,创建数据库:
接着打开pycharm中的终端(terminal),依次输入以下命令进行模型迁移:
flask db init
flask db migrate
flask db upgrade
最后在pycharm中打开项目根目录下的run.py,如图点击运行按钮,开启后端服务
后端接口地址:127.0.0.1:5000/
打开VSCODE,在VSCODE中打开前端项目文件夹,接着,在界面最上方点击终端,选择新建终端,如图
在打开的终端内,依次输入以下命令
清除缓存
npm cache clean --force
执行命令取消ssl验证
npm config set strict-ssl false
设置新镜像源
npm config set registry https://registry.npmmirror.com/
安装
npm install
运行
npm run serve
前端运行地址:127.0.0.1:8080/
第一次启动项目,数据库中没有数据,需要注册一个管理员用户。进入前端页面,如图所示进行注册:
最后到后台中,将刚注册的账号设置为管理员,将food_userinfo表中is_admin字段值,修改为1即可,如图所示
返回前端页面,使用刚才注册的管理员账号进行登录
使用管理员账号登录后,点击进入管理员后台
进入”美食数据管理“模块中的“美食数据与爬取”,点击开始爬虫,自动与后端建立websocket连接,前端页面显示爬虫的实时爬取信息状态
点击停止爬虫,关闭websocket,想要停止爬虫的时候,一定要点击停止爬虫,稍等几秒弹出等待提示框,一定不要切换页面,如果切换了页面,爬虫程序是依然在后台运行的,会影响其他模块。
注意:由于其他模块的数据都依赖于此功能模块,务必保证爬虫完整运行,最好不要中途停止,否则影响数据预处理及数据导入数据库,
爬虫爬取美食数据完毕后,点击数据库导入按钮,将爬下来的数据自动写入到数据库当中(为防止重复导入数据,默认情况下数据库导入按钮点击一次变为不可再次点击,需要刷新页面进行重置按钮状态)
数据导入如果重复点击,数据库中将会出现重复的美食数据
(部分数据的数据分析可视化结果)
原作者@3mpt