王坤 张益民
摘要:文章在使用爬虫获得不同种类的热点数据后,提取了一些关于用户和微博间的一些基本相关数据,并用最新的spss分析软件进行清洗数据和分析软件中的数据,运用单因素方差分析法,比较不同话题分类样本和话题样本对热门微博下的粉丝数、关注数、转发数、评论数、点赞数这些观测值有没有产生显著性影響,从而研究分析出公众对哪方面的热门话题更感兴趣。
关键词:微博;爬虫;方差分析;热门话题
0引言
由于热门话题内容复杂,普通网民往往缺乏对专业性较高问题的判断能力,需要在新浪微博上找到热点话题,抓取热点数据,为人们从海量信息中提取有价值的信息节省时间,正确引导普通网民思考问题的角度和趋势。对于热点研究方面角度不同,方法多样,运用于的领域也不同,本文着重关注某一方面热点数据,自建合理scrapy框架,运用于微博大量的数据爬取,实现数据的获取、查找、整理与分析。[2]
1爬虫系统设计
Scrapy框架用于对微博上的热门数据抓取。当爬虫程序成功登录到微博并获得微博页面后,可以解析HTML脚本并将其提取到所需的数据中。一篇热门微博文章的主要数据包括:用户昵称、用户ID、关注数、粉丝数、微博内容、转发数等。[1]使用爬虫爬取数据的主要流程有以下三步。
1.1微博内容获取
在微博登录方面,我们使用一种简单的方式:抓取微博登录cookie[4],然后使用cookie登录微博。这样就可以浏览某个人的微博内容了,爬取微博正文的代码如下:
#-*-coding:utf-8-*-
fromscrapyimportItem,Field
classTweetsItem(Item):
"""微博信息"""
_id=Field()#微博id
weibo_url=Field()#微博URL
created_at=Field()#微博发表时间
like_num=Field()#点赞数
comment_num=Field()#评论数
content=Field()#微博内容
user_id=Field()#发表该微博用户的id
crawl_time=Field()#抓取时间戳
1.2用户信息获取
抓取登录微博的cookie,使用cookie登录微博后我们可以看到登录用户的个人信息。为了研究热门话题对公众的影响,我们需要确定一个微博用户作为抓取数据的起点,部分代码如下:
classInformationItem(Item):
"""个人信息"""
_id=Field()#用户ID
nick_name=Field()#昵称
gender=Field()#性别
province=Field()#所在省
city=Field()#所在城市
brief_introduction=Field()#简介
birthday=Field()#生日
tweets_num=Field()#微博数
1.3用户关系获取
新浪微博用户之间存在互相关注的情况,为了方便起见,本文只对用户的粉丝进行了爬行,以了解两个用户之间是否存在关注关系。代码如下:
classRelationshipsItem(Item):
"""用户关系,只保留与关注的关系"""
_id=Field()
fan_id=Field()#关注者,即粉丝的id
followed_id=Field()#被关注者的id
crawl_time=Field()#抓取时间戳
微博用户关系数据表共有5列属性,采集到的用户关系信息包括:信息爬取的爬行时间、用户关注对象ID列表、用户粉丝ID列表等。
2数据分析结果与解释
本文把话题分类作为定类数据,关注数、粉丝数、转发数、评论数、点赞数作为定量数据进行方差分析,结果如下[3]:
(1)分类相比较于关注数呈现出0.01水平显著性(F=40.25,P=0.00),以及具体对比差异可知,有着较为明显差异的组别平均值得分对比结果。
(2)分类相比较粉丝数表现出0.01水平显著性(F=26.31,P=0.00),由具体对比差异可以知到,有着比较明显差异的分组平均值得分比较结果。
(3)分类相比较转发数表现出0.01水平显著性(F=8.18,P=0.00),由具体对比差异可以知到,有着较为明显差异的分组平均值得分比较结果。
(4)分类相比较评论数表现出0.01水平显著性(F=6.36,P=0.00),由具体对比差异可以知到,有着较为明显差异的分组平均值得分比较结果。
(5)分类相比较点赞数表现出0.01水平显著性(F=17.91,P=0.00),由具体对比差异可以知到,有着较为明显差异的分组平均值得分比较结果。
总结可知:各种话题样本对于关注数,粉丝数,转发数,评论数,点赞数全部均呈现出显著性差异。为了检验以上分析结果是否准确,本文把话题和话题分类这两个数据指标做成了词云图,通过词云图显示具体哪个话题或者话题分类出现的频率最高[2,5]。通过对微博热门话题关注程度的分析,发现用户在娱乐的同时也应该多去了解下国家正在发生的社会事件。
参考文献
[1]王海玲,周志彬.基于Scrapy框架的爬虫设计[J].软件导刊,2020,19(04):224-228.
[2]方洁,龚立群,魏疆.基于利益相关者理论的微博舆情中的用户分类研究[J].情报科学,2014,32(01):18-22.
[3]戴金辉.单因素方差分析中异方差的检验与修正[J].统计与决策,2017(08):23-26.
[4]安子建.基于Scrapy框架的网络爬虫实现与数据抓取分析[D].吉林大学,2017.
[5]刘志明,刘鲁.微博网络舆情中的意见领袖识别及分析[J].系统工程,2011,29(06):8-16.
(辽宁大连东软信息学院 辽宁 大连 116000)