您的位置:首页 > 编程语言 > VB

豆瓣精选话题爬虫数据分析小尝试

2017-08-02 01:19 429 查看
首发于我的知乎,转载请注明出处。谢谢~

最近这两天在研究爬虫,所以在学数据分析的主流语言和各种包。
不过正好也在写VBA的专栏,所以突发奇想,要不要先用VBA做个爬虫试试,正好学一下网页结构什么的,做个很流行的仪表盘什么的。
因为豆瓣精选不需要登录,就决定分析它啦。
( • ̀ω•́ )✧

写在前面:
木有学过编程,VBA也是为了方便工作自己捣鼓的。所以代码都是实用至上,可能写法不够专业。如果对优化代码有什么建议,非常非常欢迎私信交流哟。
PS这次算是个爬虫和数据分析的小实验,所以抓取的数据不多,数据分析结果仅供参考。

于是,就有了下面的东西。嗯!

1.分析网址
https://www.douban.com/group/explore
好像看不出什么。
于是直接翻到豆瓣精选第二页,得到网址结构。
因为我打算爬前十页数据,于是代码里面可以加一句:
For page = 1 To 10
If page > 1 Then 
pageParameter = "?start=" & (page * 30)

2.找到我要抓取的数据
这次要抓取四个字段:
标题,发表日期,来自小组,喜欢数
查看网页源码,找出需要的class,然后用语句
XXX = HTMLdoc.getElementsByClassName("xx")
得到该对象的数组。
用如下语句存储得到的文本。
row = (page - 1) * 30 + item + 1
Cells(row, 4) = Title(item).innerText

3.数据处理
做一些简单格式整理和数据清洗,得到的数据如下:



4.数据分析
第一次用传说中的BDP,心情非常激动。。。所以玩了一晚上,昨天做的分析今天才写出来。
4.1 总体分布:





由时间线可以看出,赞数最多的月份是2016年12月份。当然,随着时间推移,过去的精品贴获得赞数更多是正常的情况,但是相比其他几个月可以发现,16年底的精华帖都集中在12月份。
这是个有趣的现象,之后可以抓取更多数据分析一年的数据峰值点,几年峰值点对比,峰值点话题分析等。

4.2 分析喜欢数超过2000的帖子
既然要分析,当然要看一下最受欢迎的帖子都是什么样的。
先看一下小组分布:



果然八卦和化妆品的话题热度最高,热度话题数占比遥遥领先。
那我们就来看一下这两个小组和其他小组的时间线对比,看看热度的时间分布上有什么特点。



显然,其他小组的时间线符合大趋势,峰值点在2016年年底,而八卦和化妆品小组在各个时间点都有不错的活跃话题。
由此可以猜想,热点话题分布最多的小组活跃度也相当高,而其他小组则是由2016年年底的精华帖随时间积累喜欢数而达到热度,进入精选话题,以后可以分析一下相关小组活跃度来进行验证。
重点来了!
既然八组和化妆品组的活跃度高,获得热度机会多,那么,我们发布什么样的话题最受欢迎呢?
于是前面抓取的标题数据有用了。
八组的词云:



果然八组适合来"八一八"。影视剧,艺人,自己都可以拿来八卦一下,有惊喜哦。

化妆品小组词云:



分享贴最火,做试色做推荐,做……
总之,看图吧。
(所以为什么会有一个制造业( •̩̩̩̩_•̩̩̩̩ ))

以上,简单分析了一下。
更靠谱更深入的分析,等我学好了那几个包再做!୧(﹒︠ᴗ﹒︡)୨

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息