# stat-stackoverflow **Repository Path**: iskaliyang/stat-stackoverflow ## Basic Information - **Project Name**: stat-stackoverflow - **Description**: stat-stackoverflow - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-06 - **Last Updated**: 2023-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: vue3, python3, Flask, MySQL, Redis ## README # stat-stackoverflow ## 项目简介 效果 - v1 ![image-20230209185735825](https://gitee.com/iskaliyang/stat-stackoverflow/raw/master/images/image-20230209185735825.png) 流程 - 使用爬虫爬取stackoverflow中分类数据,保存到数据库 - 使用flask实现后端接口对数据进行处理 - 使用vue3进行前端页面展示 依赖 - 后端 ```shell requests==2.28.1 flask==2.2.2 Flask-RESTful==0.3.9 flask-sqlalchemy==3.0.2 flask-migrate==4.0.0 Flask-APScheduler==1.12.4 lxml==4.9.1 pymysql==0.9.3 ``` - 前端 ```shell "dependencies": { "axios": "^1.3.2", "element-plus": "^2.2.29", "less": "^4.1.3", "vue": "^3.2.45", "vue-router": "^4.1.6" }, "devDependencies": { "@vitejs/plugin-vue": "^4.0.0", "@vitejs/plugin-vue-jsx": "^3.0.0", "vite": "^4.0.0" } ``` ## 服务端启动步骤 > server为服务端的根目录 1. 在MySQL服务中,创建数据库:stackoverflow ```mysql create database stackoverflow; ``` 2. 配置数据库连接信息,修改成自己的 ![image-20230209173321763](https://gitee.com/iskaliyang/stat-stackoverflow/raw/master/images/image-20230209173321763.png) 3. 导入测试使用数据 ```shell mysql -uroot -p111111 stackoverflow < db.sql ``` ![image-20230209173516529](https://gitee.com/iskaliyang/stat-stackoverflow/raw/master/images/image-20230209173516529.png) 4. 安装依赖库 ```shell pip install -r requirements.txt # 网速慢的话可指定镜像源 pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ ``` 4. 数据库迁移相关(在`app.py`的路径下打开命令行执行) - 创建迁移仓库(只执行一次,后续不再执行) ```shell flask db init ``` - 迁移 ```shell # 这两个命令只要新增或修改了模型文件都需要执行一次 flask db migrate # 根据模型生成迁移文件 flask db upgrade # 模型迁移文件映射到数据库 ``` 5. 启动 ```shell python .\app.py ``` ## 前端启动 > web为前端的根目录 1. web文件夹下打开命令行,执行命令 ```shell npm i ``` 2. 启动 ```shell npm run dev ```