毕设 基于大数据情感分析的网络舆情分析系统(源码+论文)

news2024/11/25 13:00:48

简介

今天学长向大家介绍一个大数据毕设项目

毕设分享 基于大数据情感分析的网络舆情分析系统(源码+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:4分
  • 创新点:4分

🧿 项目分享:见文末!

实现效果

毕业设计 基于大数据情感分析的网络舆情分析系统

在这里插入图片描述


1 课题背景

在文本挖掘领域,文本聚类是一类常见而又重要的数据挖掘手段,同时也是很多其他挖掘操作的前置工作。顾名思义,聚类即按照某些特征和规则将整个数据集分成若干组的过程,各个组内元素在某些特征方面具有较高的相似性,而组间元素则在这些特征方面具有较大的差异性,所得到的各个组即为一个聚类,也常称之为“簇”。聚类作为一种无监督的机器学习方法,无需人工对数据进行标注和训练,自动化程度高。目前已被广泛应用于计算机科学、情报学、社会学、生物学等多个领域。随着互联网的高速发展,文本聚类在Web数据处理相关方面应用尤其广泛,例如推荐系统、网络舆情、各类文本挖掘及相关应用。
本项目收集了微博相关热点文章数据,并对评论进行情感分析统计,建立web可视化系统。

2 实现效果

主界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 文本情感分析

在了解了基于统计方法的情感分析模型优缺点之后,我们看一下深度学习文本分类模型是如何进行文本情感分析分类的。深度学习的一个优势就是可以进行端到端的学习,而省略的中间每一步的人工干预步骤。基于预训练模型生成的词向量,深度学习首先可以解决的一个重要问题就是情感词典的构建。下面我们会以集中典型的文本分类模型为例,展示深度文本分类模型的演进方向和适用场景。

在这里插入图片描述

在这里插入图片描述

3 Django

Django简介

Python下有多款不同的 Web 框架,Django是最有代表性的一种。许多成功的网站和APP都基于Django。

Django是一个开源的Web应用框架,由Python写成。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

Django的特点

  1. 强大的数据库功能:用python的类继承,几行代码就可以拥有一个动态的数据库操作API,如果需要也能执行SQL语句。

  2. 自带的强大的后台功能:几行代码就让网站拥有一个强大的后台,轻松管理内容。

  3. 优雅的网址:用正则匹配网址,传递到对应函数。

  4. 模板系统:强大,易扩展的模板系统,设计简易,代码和样式分开设计,更易管理。

  5. 缓存系统:与memcached或其它缓存系统联用,表现更出色,加载速度更快。

  6. 国际化:完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

基本框架图
在这里插入图片描述
架构图介绍

生产部署环境一般用UWSGI和Gunicorn部署,两者的区别后面系列文章会讲到。

我将django架构分为 网络层,计算层,存储层。

网络层 由wsgi容器解析socket,转化成wsgi协议数据包;

计算层 也就是网上盛传的MVC结构,这同时也是一种设计模式;

存储层 框架对各种数据库服务器的封装;

安装

pip install django

使用

#!/usr/bin/env python
'''Django's command-line utility for administrative tasks.'''
import os
import sys


def main():
    '''Run administrative tasks.'''
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'newsServer.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()

4 爬虫

网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫对某一站点访问,如果可以访问就下载其中的网页内容,并且通过爬虫解析模块解析得到的网页链接,把这些链接作为之后的抓取目标,并且在整个过程中完全不依赖用户,自动运行。若不能访问则根据爬虫预先设定的策略进行下一个 URL的访问。在整个过程中爬虫会自动进行异步处理数据请求,返回网页的抓取数据。在整个的爬虫运行之前,用户都可以自定义的添加代理,伪 装 请求头以便更好地获取网页数据。爬虫流程图如下:
在这里插入图片描述
相关代码

def getnewsdetail(url):
    # 获取页面上的详情内容并将详细的内容汇集在news集合中
    result = requests.get(url)
    result.encoding = 'utf-8'
    soup = BeautifulSoup(result.content, features="html.parser")
    title = getnewstitle(soup)
    if title == None:
        return None
    date = getnewsdate(soup)
    mainpage, orimainpage = getmainpage(soup)
    if mainpage == None:
        return None
    pic_url = getnewspic_url(soup)
    videourl = getvideourl(url)
    news = {'mainpage': mainpage,
            'pic_url': pic_url,
            'title': title,
            'date': date,
            'videourl': videourl,
            'origin': orimainpage,
            }
    return news


def getmainpage(soup):
    '''
        @Description:获取正文部分的p标签内容,网易对正文部分的内容通过文本前部的空白进行标识\u3000
        @:param None
    '''
    if soup.find('div', id='article') != None:
        soup = soup.find('div', id='article')
        p = soup.find_all('p')
        for numbers in range(len(p)):
            p[numbers] = p[numbers].get_text().replace("\u3000", "").replace("\xa0", "").replace("新浪", "新闻")
        text_all = ""
        for each in p:
            text_all += each
        logger.info("mainpage:{}".format(text_all))
        return text_all, p
    elif soup.find('div', id='artibody') != None:
        soup = soup.find('div', id='artibody')
        p = soup.find_all('p')
        for numbers in range(len(p)):
            p[numbers] = p[numbers].get_text().replace("\u3000", "").replace("\xa0", "").replace("新浪", "新闻")
        text_all = ""
        for each in p:
            text_all += each
        logger.info("mainpage:{}" + text_all)
        return text_all, p
    else:
        return None, None


def getnewspic_url(soup):
    '''
        @Description:获取正文部分的pic内容,网易对正文部分的图片内容通过div中class属性为“img_wrapper”
        @:param None
    '''
    pic = soup.find_all('div', class_='img_wrapper')
    pic_url = re.findall('src="(.*?)"', str(pic))
    for numbers in range(len(pic_url)):
        pic_url[numbers] = pic_url[numbers].replace("//", 'https://')
    logging.info("pic_url:{}".format(pic_url))
    return pic_url

5 项目分享

🧿 项目分享:见文末!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2193418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下网络转发功能

1、背景介绍 项目中使用上位机电脑,需要通过网络访问一个Linux主机,但是该Linux主机没有网络直接与上位机相连,只能通过插箱内另外一个Linux主机转发才能访问,示意图如下: 2、网络转发配置 Linux网络中转主机需要进行…

Java体系中的异常

1. 异常 1.1 异常的概念 在Java中,我们将程序执行过程中发生的不正常行为称为异常。异常是在程序运行过程中发生的错误或意外情况,它打破了程序的正常执行流程。在Java中通过面向对象的编程思想,我们也将这些扰乱程序正常执行的行为用类组织…

三菱FX3UPLC定位模式介绍

运行模式的比较 *1用相对定位指令代替。 *2使用相对/绝对定位指令。 *3使用直线插补指令的连续路径功能。 *4使用直线插补指令的连续路径功能。 可单轴运行。 *5.使用表格运行(连续运行功能)。 *6.使用中断定位指令。 *7只支持FX3UFX3UC可编程控制器,使用可变速脉…

设计模式之装饰器模式(Decorator)

一、装饰器模式介绍 装饰模式(decorator pattern) 的原始定义是:动态的给一个对象添加一些额外的职责。 就扩展功能而言,装饰器模式提供了一种比使用子类更加灵活的替代方案。 在软件设计中,装饰器模式是一种用于替代继承的技术,它…

Java语法之异常

1.异常的概念以及体系结构 1.1 异常的概念 在生活中人会生病,比如咳嗽流鼻涕,头晕等,程序也一样,比如:数据格式不匹配,网络不通畅,内存报警等.在Java中,我们把程序执行的不正常行为称为异常. 比如: 1. 算数异常 System.out.println(10 / 0); // 执行结果 Exception in thread &…

python导出requirements.txt的几种方法

整理了python导出requirements.txt的几种方法和流程 Condapippipreqs 最近又碰到整理requirements.txt的问题,有好几种命令可以做到这一点,但是之前整理的时候会输出一堆乱七八糟的包,这次挨个试了所有方法,特此记录。我的平台是a…

【本地缓存】Java 中的 4 种本地缓存

目录 1、手写一个简单的本地缓存1.1、封装缓存实体类1.2、创建缓存工具类1.3、测试 2、Guava Cache2.1、Guava Cache 简介2.2、入门案例2.2.1、引入 POM 依赖2.2.2、创建 LoadingCache 缓存 2.3、Guava Cache 的优劣势和适用场景 3、Caffeine3.1、Caffeine 简介3.2、对比 Guava…

elasticsearch ES DBA常用语句

一、 查看集群状态 curl -uelastic 连接串:端口/_cluster/health?pretty 集群健康有三种状态:green,yellow,red green:所有主要分片、复制分片都可用yellow:所有主要分片可用,但不是所有复制分片都可用red:不是所有…

基于SSM的学生信息管理系统【附源码】

​基于SSM的学生信息管理系统(源码L文说明文档) 目录 4 系统设计 4.1界面设计原则 4.2功能结构设计 4.3数据库设计 4.3.1数据库概念设计 4.3.2 数据库物理设计 第5章 系统实现 5.1管理员功能实现 5.1.1班级和课程关…

基于企业现状定制化的数字化转型路径和战略性架构规划

如何从企业现状出发规划数字化转型 随着技术的迅猛发展,全球企业都在加速推进数字化转型,以增强市场竞争力并提升运营效率。数字化转型并不是一个统一的模板,它要求企业结合自身的业务现状、行业环境和技术基础,制定个性化的转型…

通信工程学习:什么是B/S浏览器服务器模式

B/S:浏览器服务器模式 B/S(Browser/Server,浏览器/服务器)模式,又称B/S结构,是Web兴起后的一种网络结构模式。在这种模式中,Web浏览器是客户端最主要的应用软件,系统功能实现的核心部…

分享一个基于.net的学生信息管理系统 C#高校教务管理系统(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

计算机毕业设计 智慧物业服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

初学Vue(2)

文章目录 监视属性 watch深度监视computed 和 watch 之间的区别 绑定样式(class style)条件渲染列表渲染基本列表key的原理列表过滤列表排序收集表单中的数据 v-model过滤器(Vue3已移除) 监视属性 watch 当被监视的属性变化时&am…

使用frp将树莓派穿透到外网

引言 frp官网 最近买了一块树莓派 zero 2w,想要它可以进行远程访问,所以想到了frp这个方案进行穿透,后期会使用树莓派搭建音乐服务器,本人手机内存有点小,xxxx云音乐太占空间,有兴趣的话可以关注后续。 …

在 window 系统下安装 Ubuntu (虚拟机)

文章目录 零、Ubuntu 和 Vmware workstation 资源一、下载 Ubuntu二、下载 Vmware Workstation Pro三、安装 Vmware Workstation Pro四、创建虚拟机五、配置 Ubuntu 零、Ubuntu 和 Vmware workstation 资源 如果觉得自己下载 Ubuntu 和 Vmware workstation 麻烦,也…

如何在 MySQL 中实现数据压缩

如何在 MySQL 中实现数据压缩 在 MySQL 数据库中,数据压缩可以帮助节省存储空间和提高数据传输效率。本篇文章我就一起来看看关于MySQL数据压缩的相关内容。 一、为什么需要数据压缩 随着数据量的不断增长,数据库的存储空间需求也在不断增加。数据压缩…

【Blender Python】1.概述和基础使用

概述 众所周知,Blender是一款开源免费的3D建模软件(当然不限于3D建模)。在Blender中,可以使用其内置的Python解释器执行Python代码,用于程序化的生成网格以及其他内容。你可以基于此创建Blender插件。 这个系列就是快…

gets和puts

今天我们来学习一组新的函数 gets和puts,它们分别对应的是scanf和printf,但在功能和其它方面有着一些差异 1.gets函数 1.char*gets(char*str); 函数功能:简单来说就像上面的格式一样,给他一个地址(送快递总是要留一个…

Omron/TCP 通信过程

1. 首先 TCP 三次握手 2. 客户端向服务器申请节点地址 客户端向服务器发送一个包含Client Node Address字段的数据包 申请节点地址。由于客户端申请的时候还没有节点地址,因此该字段被置为0x00000000。 3. 服务器向客户端确认收到申请 服务器向客户端发送一个确认…