视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
基于大数据技术下的高校舆情监测与分析
2025-10-05 23:02:15 责编:小OO
文档
摘 要

随着科技的日新月异,通讯手段与交流方式不断更新,网络作为信息通讯的重要媒介,成为了高校学生沟通交流、发表观点的重要平台。高校学生通过利用网络公民自发形成的圈,交流更为便捷,传播更为多元,使得高校舆情具有了随意性、直接性、偏差性、突发性四大特征,对社会中的舆情传播产生的影响不可小觑,所以高校需要及时掌握学生舆情的发展动态,可以及时做出有效的监管和正确的引导。

通过对高校网络舆情监测的实际需求分析和概要分析,本文在现有国内外舆情监测的基础上,构建了以python爬虫技术为基础的高校舆情监测与分析系统,并且根据高校管理人员的实际需求对系统做了详细的分析与设计,通过网络讨论平台获取大量舆情数据进行整合分析,从而实现多态势舆情的实时监控和舆情数据分析的可视化,其中包含媒体分析、热度分析、受众分析等。舆情监测与分析系统包括了四个模块:舆情关键字管理模块、舆情分析模块、舆情结果可视化模块、舆情报告模块。从舆情关键词建立到舆情报告的展示,高校舆情监测与分析系统将为高校管理人员提供准确高效的舆情发展态势,辅助高校了解学生内心动态,及时发展舆情的产生,调整高校的管理,促进学生的健康成长和高校的稳健发展。

关键词:高校舆情;网络爬虫;舆情监测;舆情分析

Abstract

As technology changes with each passing day, communication means and ways of communication are constantly updated. As an important medium of information communication, network has become an important platform for college students to communicate and express their views. By making use of the circle of public opinion formed spontaneously by Internet citizens, college students can communicate more conveniently and spread more diversified, which makes college public opinion have four major characteristics: arbitrariness, directness, deviation and suddenness, therefore, colleges and universities need to grasp the development of  opinion in time, and can make effective supervision and correct guidance in time. Based on the analysis of the actual demand and summary of public opinion monitoring on the Internet in colleges and universities, this paper constructs a public opinion monitoring and analysis system in colleges and universities, which is based on Python crawler technology, and according to the actual needs of university administrators, the system has been analyzed and designed in detail, and a large number of public opinion data have been obtained through the network discussion platform for integration analysis, thus real-time monitoring of multi-situation public opinion and visualization of public opinion data analysis, including media analysis, heat analysis, audience analysis and so on. Public Opinion Monitoring and analysis system includes four modules: Public Opinion Keyword Management Module, Public Opinion Analysis Module, public opinion result visualization module, public opinion report module. From the establishment of key words of public opinion to the display of public opinion reports, the monitoring and analysis system of public opinion in colleges and universities will provide the administrators of colleges and universities with accurate and efficient public opinion development trends, and assist colleges and universities in understanding the inner dynamic of students and developing the production of public opinion in time, adjust the management policy of colleges and universities to promote the healthy growth of students and the steady development of colleges and universities.

            

Key words: College sentiment;Web spider;Public opinion monitoring;Public Opinion Analysis

第1章 绪论

当互联网技术逐渐渗透进入社会的各种领域,已然成为社会中不可或缺的一部分。人们获取信息的途径以及日常交流也逐渐由线下转为线上,使得信息的传播速度呈指数式增长,同时随着生活条件的提升和互联网工具的普及,网民数量急剧增长,年龄趋于年轻化。其中作为生活得到初步自由的高校学生,他们是在网络上发表意见和关注社会热点的重要群体,因而高校学生对于网络舆情的爆发和推动起到关键性作用。由于高校学生涉世未深,长期处于校园生活,对社会热点的看法容易受到蛊惑和欺骗,从而在网络上肆意表达自己的情绪,对社会和学校造成严重的后果。随着大数据时代的到来,应用大数据技术分析网络舆情发展走向,遏制舆情的产生,是高校管理部门对舆情监测与分析的研究方向。

1.1 研究背景与意义

随着信息时代的崛起,网络对人们的作用越来越大。几年之间,信息的传播还依靠传统的报纸、广播等方式传播,现如今网络时代的快速发展使得互联网成为信息最主流的传播途径。截止2019年6月,我国的网民规模高达8.54亿。人们可以通过网络平台及时获取信息,并且快速对信息做出反馈  舆情在网络中产生的方式,就是人们通过网络平台针对社会热点问题发表自己的看法和宣泄情绪的过程。网络舆情的要素包括:互联网、网民、热点事件、互动传播、情感。互联网舆情信息以公共媒体、自媒体为载体,围绕某个社会热点事件,通过网络传播的迅速性大量聚集情感信息,对相关管理部门产生一定的影响。

网络媒体具有极强的自由性,目前网络监管机制尚不完善,网民利用网络自由和可匿名的特点,肆意的在网络平台发表观点、宣泄情绪,使得网民的表达增加真实、顺畅。对于传统的信件报纸而言,网络可以直观的、迅速的看到社会问题,表达人们的心声,分享他人的意见。同时,网络又具有极强的交互性,网民通过参与社会热点问题的讨论或者向有关部门的反映,网民在交流互动的过程中,难免有时无法控制住自己的情绪,导致网络暴力事件频发,成为网络安全的一大隐患。由于消息是由网民自发性传播扩散,其中掺杂着浓厚的感情色彩,在传播的过程中背离信息原有的真实性,甚至有些为了达到目的故意歪曲事实,随着传播过程的积累,往往会形成强大的,对社会甚至国家产生重大的影响,从而如何利用好网络弘扬社会正气,完善舆情监测分析系统,对舆情的产生提早发现,管理人员及时制定相应的解决方案,是新时代下国家的重点任务。对于高校来说,第一时

间监测到舆情发展动向,是高校掌握学生动态的重要因素,也是对学生的心理需求进行相应的疏导的首要前提。

1.2 国内外研究现状

通过对大量文献的阅读理解,舆情的研究已经到了基于大数据网络舆情的研究阶段,在此之前的两个阶段分别为:舆情的传统研究阶段,主要用于社会热点事件、的反响、法律法规领域。网络研究阶段分为早中期的统计方法舆情研究理论和如今的大数据舆情研究。一系列的网络交流平台的出现,推动了基于大数据的网络舆情的研究,例如Ceron法国选举的研究方法。在舆情的研究内容中可分为三个方面:一是网络数据的抓取,对数据信息进行摘要、聚类、分类,通过算法的实现,对抓取的数据进行清洗排重。二是主题跟踪,在海量的舆情信息中,选定有价值的主题进行深度分析。三是舆情的情感分析,通过制定有关的情感词对感情倾向性进行研究,例如Dave研究的ReviewSeer理论。

在国内,目前的主流方法是利用正则表达式,建立爬虫系统进行网络舆情数据的采集,郑魁等人在中国科学院发明了网络舆情热点数据发现分词法,主要使用聚类、情感检测、话题跟踪技术。面对大数据下舆情分析的困满,我国多位科学家向此发出了挑战,李希光、李彪等人在舆情检测、预警上获得了理论上的成果,李金海等人提出了一套完整的文本挖掘模型,喻国明等人则是利用分词技术对热点问题分析中取得了进步。

在美国,最知名的于情监测与分析系统是TDT,该系统面向精准的用户,提供专业的舆情分析业务,他通过分析客户使用商品时反馈的意见,并通过品牌的认知程度和交易数据,计算出客户对此商品的认知度。通过对结果的分析,把相应的决策数据推荐给用户,对于公司来说,不仅增长了客户的黏性,还使得公司在竞争中始终处于领先状态。另外,尼尔森公司的核心业务为意见挖掘分析服务,他是一个世界性的是以服务企业,在报纸、展览、出版界的业务中均有涉及。尼尔森公司对服务对象公司以往数据的调查,对公司的意见评论、线上传播行为展开深度分析,使得公司在竞争中占据有利位置。尼尔森公司的服务对象包括微软、索尼等大型知名公司。

就目前而言,大部分公司、企业都有一套针对自己的舆情监测与分析系统。通过收集客户对于产品的建议和反馈,监测分析出产品的运营情况,从而及时的制定相关决策,提高产品质量,保持企业在业内所占据的优势。而一些大型的官方媒体,也建有自己的舆情检测与分析系统,并且配备强硬的技术团队,全天不间断的对网站进行监控,协助社会监控舆情的走向,在此方面做得较好的网站为人民网。

公司如此,高校亦然。高校作为青少年的聚集地,对新鲜事物始终保持高涨的态度,一点风吹草动就会引起舆情的发生,所以对于高校来说,建立一套完善的舆情监测与分析系统显得尤为重要,高校可以及时掌握学生的思想行为动态,对高校目前所处的政治思想教育工作疲劳状态起到转折的作用。目前,哈尔滨工业大学构建的“基于论坛的舆情监测系统”和外国语学院的“基于微博的舆情监测与分析系统”为高校舆情系统的典型代表。

1.3 研究内容

高校学生作为信息爆炸时代舆情产生和传播的主力军,对舆情的走向起到关键性作用,所以建立高校舆情监测与分析系统成为当下首要的任务,尤其是在当下信息多元化的时代。因此本文针对以上问题,设计一个高校的舆情监测与分析系统的模型和框架,并对模块和组件之间的关系完善了其主要功能。本文完成的工作包含以下内容:

1.通过对多所高校的管理人员的询问调查,在图书馆翻阅相关书籍,对高校舆情监测与分析系统的需求做出了分析,建立了一套高校舆情监测的系统框架,并且使用信息系统中常见的模块化思想对系统做出设计。

2.根据需求分析,对高校舆情监测与分析系统作了详细设计,对数据采集模块和数据分析模块做了详细的设计。

3.通过对高校学生的了解,贴吧是学生讨论、发表观点最集中的平台,对高校贴吧论坛进行帖子的规模爬取,得到数据分析所需要的数据。

4.对所得的数据进行敏感词分析,得到关键词在贴吧中的出现频率,进而反应某些舆情的出现。

本文的整体结构安排由五章构成,各章节安排如下。

第一章:绪论,阐述高校舆情监测与分析研究的背景,网络舆情中高校学生所占据的重要性,并阐述了舆情监测与分析国内外的研究现状。

第二章:高校舆情监测与分析的相关介绍,并对相关技术以及算法进行了介绍。如爬虫架构scrapy等。

第三章:系统需求分析与系统架构,通过对需求的分析和架构的设计,明确了系统的模块构成。然后对各个模块进行了介绍。

第四章:根据高校舆情监测与分析系统,对高校舆情检测结果的分析,展示了高校舆情监测与分析系统的部分界面。

第五章:结语。表述了系统在设计的过程中遇到的一些困难,以及在今后的工作和学习中对该系统的改进。

第2章 舆情监测与分析的关键技术

当今社会的舆情监测分析正从网络分析阶段向大数据舆情分析阶段过渡。两者的不同之处在于数据的处理模式上,目前一个完善的大数据舆情分析系统囊括了许多处理模式。本文将通过已有资料的基础上,综合舆情分析的关键技术,在高校舆情规模不大的情况下,分析本系统用到的一些关键技术。

2.1  系统对robot协议的应用

通过利用robot协议可以分析爬取的目标网站中哪些数据是对外开放,可以进行爬取的,他可以有效的排除掉不允许爬取的数据。

将网站视作交通信号的话,robots.txt则是某些路口的红绿灯“红灯禁行”或“绿灯可行”的信号,爬虫就是通过路口的汽车,根据信号灯的指示通行。

    在国际上,robot协议没有明确的规定,他是一种道德类型的行业内协议,在爬虫的过程中,他用来抵制进行恶意爬取而用作非法行为。他是爬虫技术人员在道德层面进行遵守的一杆旗帜,目前几乎所有的行业内部人员不会恶意触碰这个道德标杆。在此设计中,百度贴吧的网站内有些是robot协议禁止爬取的,但是本设计只是用作高校的舆情监测,保护高校学生的身体安全和心理健康,所以此设计需要在某些地方跨过robot协议,对正常的数据进行爬取。

2.2 爬虫技术

2.2.1爬虫原理

爬虫是通过向目标网站发出爬取请求,并得到目标网站回应的过程。爬虫通过对先前预设好的爬取规则不断向目标网站获取数据存储到本机,在爬虫的过程中需要对网站进行解析,其可以主要运行依托于以下几种技术。

URL(Universal Resource Identifier):通用资源标识符,网络中每个资源都是由一个唯一的URL确定,根据URL也可以定位到网络中的唯一一个资源。

HTTP协议:超文本传输协议,此协议是网络中应用最为常见的一种协议,HTTP协议提供了发布与接收HTML页面的方法,由HTML语言编写的网页代码可由浏览器渲染成结构清晰的页面。

2.2.2 爬虫流程

爬虫通过URL对目标网站进行数据请求,当目标网站接收爬虫的请求之后就开始对网页进行分析,爬虫将按照之前设定好的爬虫顺序对网页依次进行URL的请求,目标网站不断处理爬虫请求,并将爬虫程序设定的需要进行爬取的数据依次存储到接口内的数据库中,最终目标网站将所有的请求处理完毕之后爬虫结束。

2.2.3 爬取方式

爬虫的爬取方式包括:横向、纵向,也可以称为深度优先算法与广度优先算法。

横向爬虫抓取是图算法中最常见的也是最重要的,更是许多其他图处理的重要途径。横向爬取在爬取的设计中最为常见,设计也比较容易,横向爬取是从系统设定的最初URL开始向目标网页发送请求,然后再此URL的基础上将周围最近的URL设为下一个请求的对象。在本系统中,以百度贴吧为例,横向爬虫抓取是从列表第一页开始,根据输入的爬取页数不断地的向后翻页,把下一页的URL加入到等待爬取的队列当中。

纵向爬虫抓取的策略与横向爬虫抓取相反,其从起始页开始,层层深入,一直寻找到没有更深的节点,再通过层层递归返回起始页,搜索完毕所有的节点。在本系统中,纵向爬虫抓取即指从列表的第一页开始,获取所设定的页数详情页的URL,加入到待爬取队列中等待抓取。由于百度贴吧的网页特性,从一个详情页无法直接到达另外一个详情页,故此纵向深度为2。

此设计使用横向爬取方法,在规模不大的情况下,可以将系统的性能大范围提升,将设定好目标贴吧和页数以后逐页进行数据爬取并存储。

2.3 scrapy架构

2.3.1 scrapy框架性能优势 

scrapy框架作为Python语言中开源的第三方库,他在爬虫的过程中,对目标网站的数据爬取速度快、编写语言简洁、适用性强等优势,在特定网站中爬取制定的数据结构类型,同时scrapy框架可以根据开发者不同的开发需求,对此框架进行相应的改进。本系统采用scrapy框架的原因如下:

1.scrapy是基于Twisted的一种框架。Twisted框架是一个异步IO框架。由于Twisted具有特性,scrapy框架内置实现了单机多线程,十分有效的提升了性能。应用此框架,程序的执行流将被外部事件所影响。由于他的此种特性,scrapy不支持分布式爬虫,如要实现分布式,需要使用其他的库。

2.scrapy的扩展功能非常多。在他的框架中包含了众多的模块,几乎包含爬虫技术需要处理的问题,多数扩展的功能都可以在下载第三方库中实现,开发效率极高。

3.scrapy包含了两种定位方式css和XPath,可以使爬取到的页面进行元素的定位,可以对网页的解析效率提升很多。

4.scrapy框架开发容易。使用Scrapy框架完成一个爬虫系统的工作量可以小很多,他其中包含了众多的第三方库,每个库的相互协作使得该框架的性能十分突出。

2.3.2 scrapy的结构组成

Scrapy框架结构严谨,功能完善,他的结构组成如图2.1所示。

图2.1 scrapy的结构组成

Scrapy框架作为Python爬虫最关键的技术,他是一个较高层级的网页爬取工具,在目标网页中将数据以特定的结构抓取下来,使用范围非常广泛,是舆情监测、舆情分析必不可少的工具。他的中控系统为Engine(中心引擎),他将管道、下载器、爬虫、调度器连接到一起,通过中心引擎进行数据之间的传递与交流。调度器将中心引擎的请求命令进行归类操作,按照预定进行排序,然后将有序的请求命令返回中心引擎,相当于中心引擎的“加工车间”。下载器将中心引擎的请求交付于网页,并且接受网页的回应交付给中心引擎。爬虫将从网页的回应中提取其中有用的数据,然后将下一步需要请求的URL交付给中心引擎,调度器往返之前的操作,实现爬虫的自动化。管道将爬虫得到的Item(项目)进行一系列的操作。

2.3.3爬虫模式介绍

爬虫技术下的Scrapy框架,每个scrapy爬虫框架提供的爬虫类都需要被相应的Spider所继承,下面介绍Scrapy框架下的两种继承类。

第一个类是Spider爬虫类。他是Scrapy框架中最重要的类,也是最核心的类,他可以定义目标网站内的数据被用怎样的爬取操作来获得,将目标网站中的数据以特定的结构存储在数据库中。

Spider类的操作流程与结构的定义:

1.通过Scrapy框架中最初请求的URLs进行网页的爬取,然后在下载响应的时候选择回调函数的调用,start_requests()方法生成特定的请求和回调函数。同时使用BeautifulSoup4库和lxml库对目标网站进行解析,将其转变为特定项。最后通过管道将数据存入到数据库中。

2.name属性用来是标识爬虫程序的,必须要保证name属性不能有重复的出现。allowed_domains是记录spider可以进行爬虫的属性。start_urls定义了爬虫程序开始爬虫的爬取的地方。Logger用来发送消息。start_requests()用来定义网页的响应,在程序执行时只能被调用一次。

第二个类是CrawlSpider爬虫类。CrawlSpider对所有的爬虫类进行了继承,他对网页中的link可以定义相应的规则机制。

Spider类的结构定义:allow用来选择接受一个表达式还是一整个列表,当此属性的参数为空时,则系统默认爬取整个网页链接。deny的属性与allow属性正好相反,用来排除url和正则表达式链接。

因为该系统需要爬取的数据规模不大,只需要选择其中爬取的页数就可以实现该系统的需求。所以该系统选择使用了Spider爬虫类,通过start_urls使爬虫从网页的第一列表页开始向后爬取选择的页数,同时使用Spider爬虫类,编写系统代码的工作量会轻松很多,方便后期对程序的完善。

第3章 需求分析和系统总体架构

3.1 可行性分析

技术可行性。本系统使用PyCharm作为开发工具,以Python作为开发语言,Scrapy爬虫框架进行数据的收集,Mysql作为数据存储库,Jieba进行分词,Pandas、Matplotlib、Numpy进行数据可视化处理,所以系统在技术上是可行的。

经济可行性。本系统所使用的PyCharm是官方免费版软件,涉及到的开发技术、包都为开源免费的。所使用数据库也为免费的,系统的维护成本微乎其微,所以本系统在经济上是可行的。

法律可行性。本系统所使用的软件、数据库、技术都为开源免费的,在使用过程中不涉及版权问题,对于数据爬取网站来说,本系统在严格遵循网站的robot协议的前提,爬取过程不会涉及违法行为,得到的数据均为网页公开数据,所以本系统在法律上是可行的。

3.2 系统需求分析

3.2.1 业务需求分析

本文以高校贴吧作为信息源进行分析研究,以爬取到贴吧内容作为系统的初步目标,由于贴吧内容繁杂,反爬虫机制健全,无法通过短时间内获取到一定规模的有效信息,故本系统可以根据需求任意选择爬取的贴吧名字和爬取的页数,根据舆情发展时间和热度的高低设定贴吧爬取范围。主要工作放在信息分析方面,通过数据展示出高校学生最为关心的问题,从而提前预知高校舆情的走向。

由于本系统的主要实现功能是围绕高校舆情监测与分析展开,所以本系统应该完成的关键功能包括以下方面的内容:

1.高校贴吧的帖子信息

该系统本身不会生成数据信息,系统所需的数据信息来源于高校贴吧中学生的发帖与评论。但是由于贴吧的数据库并不向用户开放,所以要想得到所需要的数据需要利用爬虫技术对高校贴吧中的原始数据进行爬取,为系统进行数据分析创造条件。根据舆情监测者的需求选择爬取的贴吧名字与爬取帖子的页数。

2.数据进行分析并且将数据可视化

3.2.2 功能性需求分析

    系统通过对于贴吧数据的水平广度爬取。其中水平爬取是将贴吧网页进行广度优先爬取操作,可以实现在网页的第一层就可获得所需要的数据,很大程度上提升了数据爬取的效率。由于百度贴吧对反爬虫机制做得相对完善,反爬虫机制对于一个主机IP频繁访问和流量访问进行监控,从而达到对爬虫的,一旦对本机IP进行封锁后,此IP将不能继续进行数据的爬取,所以此系统必须要克服反爬虫机制的,具备在反爬虫机制下爬取数据的能力。

图3.1 数据爬取功能

系统分析数据功能是指将爬取数据得到的帖子以及评论信息进行处理,实现数据的可视化功能。数据处理首先除去数据中无效的数据,将有效的数据按照类别特征转化为相应的特征数值,筛选掉冗余的数据。其次处理干净的数据通过图表的形式,将贴吧中有效的信息进行挖掘,从而达到用户可读的可视化效果,给予用户提供参考依据。

图3.2 数据分析功能

3.3 系统总体架构

系统的整体架构如下:

1.安装PyCharm编程软件,MySQL数据库,scarpy、jieba等第三方库,为系统的运行搭建前期环境。

2.根据百度贴吧的网页结构,制定相应的爬虫方式,从而实现对贴吧贴子以及评论的爬取,再通过数据的封装、清洗,在数据中提取到有价值的信息,并将信息存入到数据库中。

3.有效利用反爬虫技术,避开贴吧对爬虫的。

4.通过对提取出的信息进行分析处理,实现数据的可视化操作。

3.3.1 爬取对象分析

该系统以爬取高校贴吧帖子和评论为目标,其贴吧帖子和评论格式较为固定,因此数据库的设定相对简单。本次将爬取贴吧中的标题、帖子内容、评论等内容。表3.1为爬取的目标网站以及网站的分析。

表3.1目标网站分析

目标网站反爬能力爬取方式
百度贴吧Scarpy列表页爬取

“百度贴吧”作为高校学生发表评论、分享观点最密集的地方,其中含有大量的学生生活动态和内心活动。由于高校学生在百度贴吧中相对活跃,人员相对集中,在一定程度上反映出了高校学生内心的真实动态,将百度贴吧作为舆情监测的目标网站,可以有效的分析出舆情的产生于发展方向,符合本论文的研究方向。 

3.3.2 模块设计

该校舆情监测与分析系统主要由爬虫模块、数据库模块、数据分析模块构成。

              

图3.3 系统模块构成

爬虫模块是该系统设计的关键,通过第三方库scarpy实现对百度贴吧网页的解析,将网页每一项div中的数据进行归类,实现对数据的爬取,并且将爬取到的数据存储到后台的MySQL数据库中,爬虫模块中的子模块名以及介绍如表3.2所示。

表3.2 子模块功能描述

模块名介绍
爬虫准备模块

在系统爬取数据之前,完成对爬虫所需要的第三方库的下载和相关环境的配置,对百度贴吧网页的结构进行分析,保证数据归类存储到数据库内
数据爬取模块

数据爬取的关键之处就是对百度贴吧网页结构的解析,通过分析需要获取的标题、内容、作者等有关数据,利用scarpy将数据进行爬取。

数据库存储模块

数据库是一个系统后台最为关键的部分,连接MySQL数据库接口,将数据一一的存入到baidu库的相应表中

反爬虫模块由于百度贴吧的对恶意爬取的十分严格,为了保证将数据爬取下来,本系统利用了scarpy库中的反爬虫技术

第四章 高校舆情监测与分析系统实现

4.1爬虫模块

4.1.1 爬虫框架的搭建

本系统使用到的开发程序为Pycharm,他是JetBrains设计开发的一款由python语言进行编程的软件。Pycharm开发软件中可以自定义第三方的库,下载scrapy框架库和该库需要并行的第三方库,配置所有库所需要的运行环境,将存储接口连接到数据库,就可以通过解析网页实现对数据爬取并且存储。本系统使用到的第三方库如图4.1所示。

图4.1 PyCharm第三方库

在此系统的爬取功能设置完毕后,所使用的scrapy框架结构如图4.2中Baidutieba文件夹中所示。

图4.2 scrapy文件框架

框架中的重要文件及功能介绍如表4.1。

表4.1 scrapy主要文件介绍

文件名功能
settings.py此模块设定了对爬取方式,遵循的协议和使用的功能。

init.py此模块定义了链接到的Mysql数据库

4.1.2 系统爬取

用户通过系统输入任何一个合法贴吧名字,然后根据舆情预测规模大小和结合高校自身情况选择需要爬取贴吧网站的页数(每页的爬取时间在4秒钟左右)。

图4.3 数据爬取页面

获取页面信息,并用xpath解析内容,通过页面分析可知道每一个帖子都是一个li。循环遍历取出内容,并拼接帖子url,进入帖子详情页面通过html分析获得一楼文本。系统会自动翻页爬取贴吧的标题、作者、发布时间、链接、回复数量、帖子内容。将爬取到的数据存储到Mysql数据库的baidu库下。

系统通过解析数据库,从数据库读取bordered表中数据以表格的形式展示到系统的html页面上table class="table table-bordered">。如下图所示。

图4.4 数据可视化页面

    用户可以根据数据的可视化完整的看到目标网站的所有帖子内容,根据标题、内容、回复数量直观的了解每一个话题的内容和关注程度。细致的掌握每一个话题的动向。

4.2数据分析模块

系统根据爬虫系统对贴吧网页的数据进行一定规模的爬取后,对目标数据进行重新审核检查和校验,将重复的数据信息进行删减,改正格式不正确,最终保证数据的性和统一性,完成系统可以将数据进行批处理的归一化。通过对初始脏数据的预处理,得到干净的、连续的、标准的可进行Python库可视化操作的数据。为系统进一步的模型建立提供准确性。通过使用duplicated()函数和pandas函数,集中进行检测是否存在数据重复,将重复的数据利用drop_duplicates()函数进行删除。

利用第三方Jieba库,导入自定义词典,获取停用词list,然后删除jieba空格、删除停止词后的分词,使用reverse降序排序字典,最后得到关键词以及关键词出现的次数,完成分词操作,对后面数据分析创造条件。

4.3数据可视化模块

4.3.1词云展示

Python语言中pyecharts库是一个开源的完成词云绘制的关键库。首先引入pandas库和numpy库对数据进行分析,通过pandas库中的read-csv进行文件的读取,再通过文件的具体类型进行sep参数的设置,利用字符串join方法,使列表转化为字符串。第二,引入collection库中的counter方法,返回词汇出现频率的统计。第三,使用sorted方法和lambda函数得到分词关键词,choices_number=50取出关键词出现频率排名在前50的关键词。最后,通过pyecharts库,设置wordcloud.add参数字体、颜色、大小、倾斜度,得到词云如下图所示。

图4.5 词云展示

为了使高校舆情信息的及时发现处理。词云是高校舆情管理人员发现学生动态异常、掌握学生近期关注话题最直接的方式。词云通过词汇的形式展示学生近期最佳关注的话题,词汇区分颜色大小位置,将出现次数最多的词汇放到图形的中心并且增加字号,系统管理人员可以第一时间发现高校内的热点话题,如果话题内容为负面词汇,高校可以第一时间掌控信息,扭转舆情的爆发。

4.3.2热点话题词频

通过引入jieba库中的anasyle方法,收集数据中每个关键词汇以及每个关键词出现的频率。对词频前20名的词汇出现频率以柱状图的形式展示出来,可以使得高校舆情管理人员掌握学生对热点话题的关注人数,了解舆情的规模大小。关键词频率可视化如下图。

图4.6 高频词统计

通过后台对高频词的分析,表4.2对有效、重要的高频词进行了统计,可以明显的看出关键词考研出现的频率最高,说明考研是山东管理学院最受关注的话题,足以说明学习氛围的浓郁。其次,开学、成绩、专升本、资料等关键词出现频率也都排名在前列并且差距不大,这些关键词都为正面话题。当某一种关键词的出现频率远高于其他关键词或者有负面关键词出现时,则会有舆情爆发的风险,管理人员应随时关注,及时作出相应的决策。

表4.2 重要高频词次数统计

高频排名重要高频词数量统计(次)
1考研20
2学校19
3开学13
4成绩12
5专升本9
6资料6
7时间6
8毕业6
9学长6
10考试5
11专业5
通过词云与热点主题词汇出现的频率,使得高校舆情管理人员掌握学生对热点话题的关注人数,了解舆情的规模大小。针对不同程度,不同情感的舆情,高校可以及时作出相应的决策。

4.3.3贴吧评论数量区间

通过统计贴吧不同楼层范围内的回复数量,将20层设为分界点。统计数据中20层以上的楼层如果占比越大,说明此时间段内可能会出现热点话题讨论高潮,意味着将会有舆情的发生,所以用户根据实时监控楼层回复数量的占比,可以有效的预测舆情的发生,词云和排名前20的关键词分析出舆情的主题,从而高校舆情管理人员及时的做出决策,避免负面舆情的发展。贴吧评论数量区间扇形图和柱状图如下所示。

图4.7 楼层回复数量统计

结语

本文通过使用python语言按照前期开题报告要求实现了一个高校舆情监测与分析系统,功能基本完善,对高校贴吧的监测具有一定的效果。随着大数据时代的前进,高校学生作为新时代下的人,对网络的依赖性与迷茫性很高,此系统将高校学生在网络中的言行举止记录下来,关注他们在生活中的另一种状态,使得高校在一定程度上帮助学生调整心态,避免舆情的大面积爆发,具有一定的实现意义。

在本系统的设计开发中,我学习使用了scrapy框架对网页进行数据的爬取,将爬取的工作量降到最低。Python中的第三方库是完成此系统的关键,通过开源的第三方库,Jieba库实现了对数据的分词,pandas库和numpy库对数据进行分析,pyecharts库是一个开源的完成词云绘制的关键库。对第三方库的综合利用,发现数据分析技术已经逐渐渗透到我们的工作生活当中,使得我们摆脱传统的手工统计工作,以最高的效率得到我们想要的统计结果。

但是本系统还有很大的优化空间,现在数据分析操作较为简单,距离市面上的高级舆情监测与分析系统仍具有很大差距,通过今后工作和学习中对相关技术的深入了解,不断高校舆情监测与分析系统。下载本文

显示全文
专题