2019年11月3日

臉書爬蟲機器人- 抓發文留下的數位足跡,製成活動熱圖

在動物行為學的研究上,研究者可以針對該種動物的活動做成熱圖 Heat Map,例如縱座標是時間、橫座標是季節,這樣就可以看出該種動物隨著不同季節和時間的活動趨勢變化。

這樣的研究其實透過臉書的資訊也是可以達成的,就把人類的貼文當作活動足跡來偵測就好了啊。在前一篇當中,我把某一篇新竹市長某一篇特定文章的回應都擷取之後,就可以看出數千人在這個議題上面的活動時間。

基於這種處理技術,我也可以針對某一個人的貼文時間做分析,然後產生如上所述的熱圖,看出一個人的活動概況。

先來看一個範例吧,我就拿臉書創辦人 Mark Zuckerberg 最近50篇貼文來分析吧。大概可以看出每晚十一點到隔日六點多,就比較少臉書上的貼文。但是某幾天的凌晨會有貼文,而這幾天的下午又會有比較密集的貼文。如果我們增加貼文的數量,並且分析貼文的內容,那麼這裡頭的資訊量又可以多更多了。


想要試試看這種看起來很恐怖的蒐集資料方式嗎?其實方法跟前篇抓回應的類似。
就是開啟某個人的臉書頁面,然後一直往下滑,滑到貼文數量達到你設定的數字(例如50篇貼文)。然後再去把貼文裡的回應都點開來,特別把目標者的回應也抓出來。不過在 Mark Zuckerberg 的例子當中,我就沒做這件事情了。因為他的單篇文章回應數動不動就上萬,程式點很久都點不完,所以這一步我跳過了。

當全部的貼文都展開了之後,再把整個頁面的原始碼拿來分析,抓出目標的發文時間、內容等..。然後再針對時間資訊做分析處理,或進行繪圖。





教學的影片在此



程式碼在此
https://github.com/ChihHsiangChien/FBcrawl/blob/master/FBrobot-%E7%88%AC%E7%99%BC%E8%A8%80%E6%99%82%E9%96%93%E5%81%9A%E5%9C%96%E8%A1%A8.ipynb