毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏)

毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总

感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。

1、项目介绍

技术栈:

Flask框架、vue前端框架、Echarts可视化、requests爬虫、snownlp自然语言情绪值分析、hanlp做文字符号处理、numpy、pandas做数据分析处理,mysql数据库,SQLAlchemy用作ORM框架

微博舆情分析系统,项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。先后进行了数据获取和筛选存储,对存储后的数据库数据进行提取分析处理等操作,得到符合需要的结构化数据,将处理后的数据根据需要进行分析,得到相关的可视化数据,然后提供对应的接口给前端页面,显示在项目的前端页面中。使用flask进行整个项目框架的构建,爬虫部分模块使用requests官方依赖库进行数据获取,根据微博公开的api接口获取结构化json数据,然后使用pandas对数据进行筛选,处理和分析。

2、项目界面

(1)各地区舆情统计分析

(2)热门舆情话题分析

(3)话题分类占比分析

(4)舆情评论分析

(5)高校舆情分析

(6)数据库数据

3、项目说明

微博舆情分析系统,项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。先后进行了数据获取和筛选存储,对存储后的数据库数据进行提取分析处理等操作,得到符合需要的结构化数据,将处理后的数据根据需要进行分析,得到相关的可视化数据,然后提供对应的接口给前端页面,显示在项目的前端页面中。使用flask进行整个项目框架的构建,爬虫部分模块使用requests官方依赖库进行数据获取,根据微博公开的api接口获取结构化json数据,然后使用pandas对数据进行筛选,处理和分析。

4、核心代码

import json

from datetime import date, timedelta, datetime

from flask import Flask, session, jsonify, request

from database.config import db, SQLALCHEMY_DATABASE_URI

from model.User import User

from analysis import calculate

app = Flask(__name__)

app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI

app.config["TEMPLATES_AUTO_RELOAD"] = True

app.config["SECRET_KEY"] = 'weibo_topic'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db.init_app(app)

@app.before_first_request

def create_tables():

db.create_all()

@app.route('/recently', methods=['POST'])

def recently_topic():

"""

最近的本周舆情分析

1.舆情指数

2.舆情热搜分析

:return:

"""

params = request.get_json()

dateTime = '2022-5-11T01:10:01'

dt = datetime.strptime(dateTime, '%Y-%m-%dT%H:%M:%S').date()

data1 = calculate.weekly_hot_topic(dt=dt)

data2 = calculate.weekly_topic_total(dt=dt)

result = {'code': 20000, 'amount': data2, 'topics': data1}

return jsonify(result)

@app.route('/wordCloud', methods=['POST'])

def weekly_wc():

"""

热搜话题图谱

:return:

"""

data = calculate.weekly_word_cloud()

result = {'code': 20000, 'data': data}

return jsonify(result)

@app.route('/category', methods=['POST'])

def category():

"""

类别占比分析

1.舆情话题的周类别分析

2.正负舆情对比分析

:return:

"""

param = request.get_json()

dateTime = param['datetime']

dateTime = dateTime.split('.')[0]

dt = datetime.strptime(dateTime, '%Y-%m-%dT%H:%M:%S').date()

data = calculate.weekly_topic_category(mode='week', dt=dt)

result = {'code': 20000, 'data': data}

return jsonify(result)

@app.route('/pop', methods=['POST'])

def pop():

"""

正负舆情对比分析

:return:

"""

param = request.get_json()

dateTime = param['datetime']

dateTime = dateTime.split('.')[0]

dt = datetime.strptime(dateTime, '%Y-%m-%dT%H:%M:%S').date()

# print('pop cal')

data = calculate.PositiveOrPassive(dt=dt)

return jsonify({'code': 20000, 'data': data})

@app.route('/region', methods=['POST'])

def region():

"""

舆情地区统计

:return:

"""

param = request.get_json()

dateTime = param['datetime']

dateTime = dateTime.split('.')[0]

dt = datetime.strptime(dateTime, '%Y-%m-%dT%H:%M:%S').date()

data = calculate.weekly_topic_region(dt=dt)

return jsonify({'code': 20000, 'data': data})

@app.route('/uni_param', methods=['POST', 'GET'])

def getUniversityParam():

"""

获取高校参数信息

:return:

"""

data = calculate.getUniversityParam()

result = {'code': 20000, 'data': data}

return jsonify(result)

@app.route('/comment', methods=['POST'])

def commentAnalysis():

"""

评论分析

:return:

"""

params = request.get_json()

topic = params['topic']

data = calculate.getCommentData(topic)

result = {'code': 20000, 'data': data}

return jsonify(result)

@app.route('/university', methods=['POST'])

def query_university():

"""

搜索大学热搜

显示该学校的热门话题

返回指定高校的热搜数据

:return:

"""

param = request.get_json()

name = param['name']

data = calculate.getTopicByUniversity(name)

result = {'code': 20000, 'data': data}

return jsonify(result)

@app.route('/logout', methods=['POST'])

def logout():

"""

注销

"""

session.clear()

data = {'data': '', 'code': 20000}

return jsonify(data)

@app.route('/info', methods=['GET', 'POST'])

@app.route('/login', methods=['GET', 'POST'])

def login():

data = request.get_json()

if (request.method == 'GET') and (session.get('userid') is not None):

user = User().userinfo(userid=session['userid'])

data = {'data': user.serialize(), 'code': 20000}

return jsonify(data)

if request.method == 'POST':

user = User()

user = user.valid_login(username=data['username'], password=data['password'])

if user:

session['user'] = str(user.username)

session['userid'] = str(user.id)

data = {'data': user.serialize(), 'code': 20000}

return jsonify(data)

else:

data['error'] = '错误的用户名或密码!'

return data

@app.route('/')

def hello_world():

return 'Hello World!'

if __name__ == '__main__':

app.run()

5、源码获取

由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦

感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看获取联系方式

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: