前阵子,一条微博成功引起了我的注意:
没想到你竟是这样的虎扑!
正好我们也在做网站的数据分析案例,不如就用 Python 来分析下,虎扑你这个直男论坛到底是怎样的?
数据来源
这个案例我们几个月前就有计划了,所以数据是之前采集的。
时间:2019.3.16-2019.6.22
(虎扑论坛只显示近三个月的帖子)
数据:
板块内容:共 101.4w 个帖子的概要数据
帖子内容:回复数大于 200,浏览数大于 5w 的 4.4w 个帖子
用户页面:29.9w(详细帖子数据中发帖回帖用户),其中 10w 有效数据(剩余 17.6w 未填写,1.4w 填地球)
说明一下,我们这里不可能获取到虎扑的全部数据,但作为一个抽样统计已经足够。其中帖子的详细内容由于请求量很大,我们就选取了其中回复和浏览都比较高的那部分帖子作为分析样本。
接下来就让我们来看一看详细的数据情况:
板块
虽然虎扑名义上是个篮球论坛,但步行街(无主题闲聊区)的帖子占据了半壁江山。对比之下很悲凉的是中国足球论坛,基本没啥话题。
虽然主题数不如步行街,但看平均回帖数,篮球论坛还是名副其实。
发帖
看每天日间发帖时间的分布,两个高峰:上午10点(上班摸鱼)和晚上21点(吃过饭躺床上)。上午高峰还有个原因,就是NBA比赛都是这个时间段转播的。
这是3个月来每天发帖总数的变化趋势,看得出在稳步上升。知道曲线上为啥会有定期的波峰吗?通常都是精彩比赛场次的日子。图上3个峰值的日子分别对应:火箭vs勇士、猛龙vs勇士、勇士vs猛龙 三场比赛。
热门帖子的浏览与回帖数分布。可以看出一个现象:浏览量大的贴,回帖数通常也很高;但回帖多的帖就未必都会有高浏览量(高回帖低浏览的基本都是抽奖贴)。
用户
尽管有一半以上的用户没有在资料里选择性别,但从填写的这部分用户来看,直男论坛实锤没跑了。
这是一张声望>8000的用户分布散点图(在交互版本上会看得更直观,文末有地址),比较突出的是 张佳玮·信陵(声望最高)、视频综合站(发帖最多)
而从这张注册/在线时长的用户分布图上可以看到,“视频综合站”的在线时长却是很少的,可见这应该不是一个真人号。
从用户注册时间上来看,每年的新增用户都在上涨,2014 和 2017 年是虎扑增长较快的两年。
另外我们统计了用户声望和等级的前50排行,声望最高:张佳玮·信陵,等级最高:登等瞪等凳。图略,可详见动态图表演示页面。
地区
东部和南部沿海省市 JRs 的数量比较多,另外就是北京和四川。
全球范围来看,美国要远高于其他国外地区。(这里为了国外区域显示效果而降低了颜色范围,实际美国的用户和国内差了2个数量级)
各地区用户的平均在线时长,上海 JRs 最能肝。不过,平均数是可能被一些个别用户把数据拉高的,所以我们还加了中位数的统计,可以看到湖南的233是最高。
等级中位数,又是湖南第一。
声望中位数,还是湖南。
发帖中位数,依然是湖南……
回帖中位数,不用我说,你们猜到是哪里了吧?
词云
最后,我们来看下虎扑 JRs 这三个月的帖子中频率最高的词汇是什么(可点击查看大图):
项目介绍
回到技术层面,关于这个项目的实现,简单说下思路:
项目思路
- 分析虎扑论坛页面,评价可获取数据,确定分析目标;
- 使用了 requests 和 scrapy 抓取相应数据, 并使用 pymongo 保存;
- 使用可视化工具 pyecharts,对数据进行可视化处理。
- 整理分析。
运行环境
- python 3.7
- windows 10
- jupyter notebook
运行依赖包
- requests
- pyecharts
- pymongo
- scrapy
- jieba
- wordcloud