感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 。

技术栈

前端:vue框架
后端:Flask框架
数据库:MySQL
爬虫: requests库
爬取【网易严选网】商品评论

Flask框架、vue框架、MySQL数据库、 requests爬虫库、网易严选网、NLP情感分析

BosonNLP_sentiment_score.txt 情感词对应评分
degree.csv 程度副词表
stopword.txt 停用词表

项目截图

1、评论词云分析
在这里插入图片描述

2、数据采集和情感分析

在这里插入图片描述

3、评论类型占比

在这里插入图片描述

4、注册登录界面

在这里插入图片描述

部分代码

# encoding:utf-8
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from text_analysis.code import get_top_positive_negative_frequency
from utils import get_data,get_db_config

app = Flask(__name__)
# 连接数据库
config = get_db_config()
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{}:{}@{}:3306/{}'.format(config["user"],config["password"],config["host"],config["database"])
# 实例化orm框架的操作对象,后续数据库操作,都要基于操作对象来完成
db = SQLAlchemy(app)


# 声明模型类
class User(db.Model):
    __tablename__ = "tb_user"  # 设置表名
    id = db.Column(db.INTEGER, primary_key=True)
    username = db.Column(db.String(16), nullable=False)
    password = db.Column(db.String(16), nullable=False)


@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route("/login", methods=["post"])
def login():
    """登录"""
    code, msg = 200, "success"
    username = request.json.get("username")
    password = request.json.get("password")
    if not username or not password:
        code, msg = 500, "用户名或者密码不能为空"
    if not User.query.filter_by(username=username, password=password).first():
        code, msg = 500, "密码错误"
    return jsonify({"msg": msg, "code": code})


@app.route("/regist", methods=["post"])
def regist():
    """注册"""
    code, msg = 200, "success"
    username = request.json.get("username")
    password = request.json.get("password")
    if username and password:
        if User.query.filter_by(username=username).first():
            msg = "用户%s已存在" % username
        else:
            new_user = User(username=username, password=password)
            db.session.add(new_user)
            db.session.commit()
    return jsonify({"msg": msg, "code": code})


@app.route("/display", methods=["post"])
def display():
    """
    获取绘图数据
    :return:
    """
    code, msg = 200, "success"
    url = request.json.get("url")
    username = request.json.get("username")
    top = request.json.get("top", 10)
    product_id = url.split('id=')[-1] if url.split('id=') else url
    data = get_data(username, product_id)
    data.update(get_top_positive_negative_frequency(data, top))
    data.pop("comments")
    return jsonify({"msg": msg, "code": code, "data": data})


if __name__ == '__main__':
    db.create_all()
    app.run(host="0.0.0.0")

源码获取:

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

大家点赞、收藏、关注、评论啦 !

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐