前言

近年来,微博评论区的异常评论流量现象甚嚣尘上,背后是大量的营销账号的扰乱视听以及作为他们的傀儡的水军账号的推波助澜,本篇利用微博评论爬虫采集的公开数据,简单分析了这些现象的一些表征和原因。

数说

以人民日报发表的关于 #吴亦凡被批捕# 这条微博及其评论数据为例子。

人民日报.png

网页显示有近 18w 条微博,实际抓取去重后有 10w 稍有余的数据,包括根评论和回复,后文分析评论时,仅针对分析发博一天内的评论。抓取保存的评论字段信息如下

字段名 含义
parent_cid 该回复所属的根评论 id,只有回复评论有值,根评论为空
cid 评论 id
time 评论发表时间
text 评论内容
like_count 评论点赞数
reply_count 该根评论有多少条回复评论,只有根评论有值,回复评论为0
uid 评论者 id
username 评论者用户名
following 评论者关注数
followed 评论者粉丝数
gender 评论者性别

第一步,可视化该条微博发布后一天内每分钟新发评论数量时间线。

发博后每分钟评论数.png

每分钟评论数在短时间内指数型急剧上升,最后又以一象限双曲线形式下降,符合常理认知。同时可以看出,在发博时间 2021/08/16 20:30 过去 840mins,也就是发博 16 小时后,2021/08/17 10:30 时有个极大值,why?迫于本篇推送选题的压力,我马上想到了可能是水军账号这个时候营业了,但是我分析了这个时间段发布评论的用户,肉眼可见几乎没有水军账号。于是乎,我翻开了微博的历史热搜数据,发现在这个时间点,#都美竹感谢朝阳公安和粉丝# 这个话题冲到了热搜第一,很显然,是由于该关联话题的热度扩散到了这条微博。

历史热搜.png

如果查证历史热搜数据该时间点无相关热搜,且几乎没有观察到该时间点附近评论营销水军内容,那么下降曲线就会是完美的一象限双曲线;否则就需要确定是相关热搜或者是营销水军,亦或者是它们共同作用的结果。

第二步,怎么大致判断评论中水军账号呢,我的做法是 group_by uid。

分析结果显示,一天之内,一个账号最多针对该微博发布了 26 条评论,发布 10 条评论以上的账号多达 30 余人,这些账号具有一定的营销号或水军嫌疑,目前只能手动点开微博主页浏览去确定,长期地,我想输出一个模型,根据 uid 判断账号是否是营销号或者水军账号,目前的想法就是根据它的发博连续性,关注粉丝之比,账号新旧程序等维度考量,大家有好想法欢迎留言。

最后可视化每分钟评论的平均文本长度如下。

发博后每分钟评论平均长度.png

处理时去除了 html 标签表情等非文本内容,但是上图依旧有很大的锯齿,应该用中值滤波处理之,不过走势应该不会变。

参考

1、微博历史热搜数据:https://www.weibotop.cn/2.0/

2、研究报告 | 微博评论中的水军异常流量分析:https://zhuanlan.zhihu.com/p/436967668