EXCEL VBA小白第六課:豆瓣精選話題爬蟲數據分析小嘗試

最近這兩天在研究爬蟲,所以在學數據分析的主流語言和各種包。

不過正好也在寫VBA的專欄,所以突發奇想,要不要先用VBA做個爬蟲試試,正好學一下網頁結構什麼的,做個很流行的儀錶盤什麼的。

因為豆瓣精選不需要登錄,就決定分析它啦。

( ? ?ω?? )?

寫在前面:

木有學過編程,VBA也是為了方便工作自己搗鼓的。所以代碼都是實用至上,可能寫法不夠專業。如果對優化代碼有什麼建議,非常非常歡迎私信交流喲。

PS這次算是個爬蟲和數據分析的小實驗,所以抓取的數據不多,數據分析結果僅供參考。

於是,就有了下面的東西。嗯!

1.分析網址

douban.com/group/explor

好像看不出什麼。

於是直接翻到豆瓣精選第二頁,得到網址結構。

因為我打算爬前十頁數據,於是代碼裡面可以加一句:

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模擬登錄熊貓TV
爬蟲軟體|軟體的簡單使用(二)
數據採集技術指南 第一篇 技術棧總覽

TAG:数据分析 | VBA | 爬虫 |