EXCEL VBA小白第六課:豆瓣精選話題爬蟲數據分析小嘗試
02-02
最近這兩天在研究爬蟲,所以在學數據分析的主流語言和各種包。不過正好也在寫VBA的專欄,所以突發奇想,要不要先用VBA做個爬蟲試試,正好學一下網頁結構什麼的,做個很流行的儀錶盤什麼的。因為豆瓣精選不需要登錄,就決定分析它啦。( ? ?ω?? )?寫在前面:
推薦閱讀:
木有學過編程,VBA也是為了方便工作自己搗鼓的。所以代碼都是實用至上,可能寫法不夠專業。如果對優化代碼有什麼建議,非常非常歡迎私信交流喲。
PS這次算是個爬蟲和數據分析的小實驗,所以抓取的數據不多,數據分析結果僅供參考。於是,就有了下面的東西。嗯!1.分析網址https://www.douban.com/group/explore好像看不出什麼。於是直接翻到豆瓣精選第二頁,得到網址結構。因為我打算爬前十頁數據,於是代碼裡面可以加一句:For page = 1 To 10If page > 1 Then
pageParameter = "?start=" & (page * 30)2.找到我要抓取的數據這次要抓取四個欄位:標題,發表日期,來自小組,喜歡數查看網頁源碼,找出需要的class,然後用語句XXX = HTMLdoc.getElementsByClassName("xx")得到該對象的數組。用如下語句存儲得到的文本。row = (page - 1) * 30 + item + 1Cells(row, 4) = Title(item).innerText
3.數據處理做一些簡單格式整理和數據清洗,得到的數據如下:4.數據分析第一次用傳說中的BDP,心情非常激動。。。所以玩了一晚上,昨天做的分析今天才寫出來。4.1 總體分布:由時間線可以看出,贊數最多的月份是2016年12月份。當然,隨著時間推移,過去的精品貼獲得贊數更多是正常的情況,但是相比其他幾個月可以發現,16年底的精華帖都集中在12月份。
這是個有趣的現象,之後可以抓取更多數據分析一年的數據峰值點,幾年峰值點對比,峰值點話題分析等。4.2 分析喜歡數超過2000的帖子既然要分析,當然要看一下最受歡迎的帖子都是什麼樣的。先看一下小組分布:果然八卦和化妝品的話題熱度最高,熱度話題數佔比遙遙領先。那我們就來看一下這兩個小組和其他小組的時間線對比,看看熱度的時間分布上有什麼特點。顯然,其他小組的時間線符合大趨勢,峰值點在2016年年底,而八卦和化妝品小組在各個時間點都有不錯的活躍話題。由此可以猜想,熱點話題分布最多的小組活躍度也相當高,而其他小組則是由2016年年底的精華帖隨時間積累喜歡數而達到熱度,進入精選話題,以後可以分析一下相關小組活躍度來進行驗證。
重點來了!既然八組和化妝品組的活躍度高,獲得熱度機會多,那麼,我們發布希么樣的話題最受歡迎呢?於是前面抓取的標題數據有用了。八組的詞云:果然八組適合來"八一八"。影視劇,藝人,自己都可以拿來八卦一下,有驚喜哦。化妝品小組詞云:分享貼最火,做試色做推薦,做……總之,看圖吧。(所以為什麼會有一個製造業( ?????_????? ))以上,簡單分析了一下。更靠譜更深入的分析,等我學好了那幾個包再做!?(﹒??﹒?)?推薦閱讀:
※圖中黃黑相間的是什麼品種的蜘蛛?
※校長,我要上車——python模擬登錄熊貓TV
※爬蟲軟體|軟體的簡單使用(二)
※數據採集技術指南 第一篇 技術棧總覽