豆瓣精选话题爬虫数据分析小尝试
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.数据处理
做一些简单格式整理和数据清洗,得到的数据如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/c35608e6f63bb6ffdb06cda61564fc71)
4.数据分析
第一次用传说中的BDP,心情非常激动。。。所以玩了一晚上,昨天做的分析今天才写出来。
4.1 总体分布:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/2ef8778890d72698c54f7eb7da51db87)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/f1fa74e88259acf5f66a2d373012901b)
由时间线可以看出,赞数最多的月份是2016年12月份。当然,随着时间推移,过去的精品贴获得赞数更多是正常的情况,但是相比其他几个月可以发现,16年底的精华帖都集中在12月份。
这是个有趣的现象,之后可以抓取更多数据分析一年的数据峰值点,几年峰值点对比,峰值点话题分析等。
4.2 分析喜欢数超过2000的帖子
既然要分析,当然要看一下最受欢迎的帖子都是什么样的。
先看一下小组分布:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/66b753c6983f6442d993357dd6c32405)
果然八卦和化妆品的话题热度最高,热度话题数占比遥遥领先。
那我们就来看一下这两个小组和其他小组的时间线对比,看看热度的时间分布上有什么特点。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/59cade7f30dadbae4d17f52ac9630881)
显然,其他小组的时间线符合大趋势,峰值点在2016年年底,而八卦和化妆品小组在各个时间点都有不错的活跃话题。
由此可以猜想,热点话题分布最多的小组活跃度也相当高,而其他小组则是由2016年年底的精华帖随时间积累喜欢数而达到热度,进入精选话题,以后可以分析一下相关小组活跃度来进行验证。
重点来了!
既然八组和化妆品组的活跃度高,获得热度机会多,那么,我们发布什么样的话题最受欢迎呢?
于是前面抓取的标题数据有用了。
八组的词云:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/ac30672c5155a64aba95124f758db578)
果然八组适合来"八一八"。影视剧,艺人,自己都可以拿来八卦一下,有惊喜哦。
化妆品小组词云:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/88ecc0804517d512b14055d05f9cf0f1)
分享贴最火,做试色做推荐,做……
总之,看图吧。
(所以为什么会有一个制造业( •̩̩̩̩_•̩̩̩̩ ))
以上,简单分析了一下。
更靠谱更深入的分析,等我学好了那几个包再做!୧(﹒︠ᴗ﹒︡)୨
最近这两天在研究爬虫,所以在学数据分析的主流语言和各种包。
不过正好也在写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年年底的精华帖随时间积累喜欢数而达到热度,进入精选话题,以后可以分析一下相关小组活跃度来进行验证。
重点来了!
既然八组和化妆品组的活跃度高,获得热度机会多,那么,我们发布什么样的话题最受欢迎呢?
于是前面抓取的标题数据有用了。
八组的词云:
果然八组适合来"八一八"。影视剧,艺人,自己都可以拿来八卦一下,有惊喜哦。
化妆品小组词云:
分享贴最火,做试色做推荐,做……
总之,看图吧。
(所以为什么会有一个制造业( •̩̩̩̩_•̩̩̩̩ ))
以上,简单分析了一下。
更靠谱更深入的分析,等我学好了那几个包再做!୧(﹒︠ᴗ﹒︡)୨
相关文章推荐
- Python爬虫实战(4):豆瓣小组话题数据采集―动态网页
- 用Python进行网络爬虫和数据分析的初次尝试(一)
- Python爬虫实战(4):豆瓣小组话题数据采集—动态网页
- Java豆瓣电影爬虫——使用Word2Vec分析电影短评数据
- Python2.7 爬虫实践:豆瓣电影影评分析
- 记一次企业级爬虫系统升级改造(三):文本分析与数据建模规则化处理
- python爬虫实战:《星球大战》豆瓣影评分析
- 基于webmagic的java网页爬虫,抓取网页指定节点,然后使用dom4j分析xml数据
- python爬虫知识点三--解析豆瓣top250数据
- CSDN爬虫(四)——博客专家(所有)爬取+数据分析
- 新闻数据爬虫分析
- Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析
- 分享python3爬虫及数据分析实战视频教程
- Python 爬虫实践:《战狼2》豆瓣影评分析
- Python实现微信公众号爬虫进行数据分析
- Python 爬虫实践:《战狼2》豆瓣影评分析
- 【转】爬取豆瓣电影top250提取电影分类进行数据分析
- PHP爬虫之百万级别知乎用户数据爬取与分析
- PHP爬虫:百万级别知乎用户数据爬取与分析
- 一名程序员用爬虫技术分析了福州7740家餐厅数据