·
把現在 PTT 最多人看的文章存起來!
PTT 是一個時常保有上萬人在線的一個電子佈告欄,無時無刻都會有人撰寫文章或是提供新的資訊,甚至也是電視新聞的資料來源之一;而近年來 PTT 也有了網頁板,更方便大家即時瀏覽資訊。如果想知道大家正在討論些什麼,可以藉由熱門看板頁面看到各個看板以及看板在線人數,這時候只要往人多的地方走,就能知曉上千上萬人正在討論的話題囉。
接著就來用 R 將熱門看板的即時文章先保存下來吧。
經由 httr、xml2 套件層層爬取後,可以抓出最熱門看板的網址,下面再利用類似的方法進入這個看板,然後收集前三頁的連結資訊在 data 裡。
(途中會用到 stringr 套件來抓連結裡面有規律變化的字串,並用 as.numeric 轉成數值格式)
接著先建立一個能抓取頁面裡所有文章內容的函式,其中 xml_text 可以將內容文字取出,還要編寫存檔路徑名稱及檔案的格式。(將 content0 的資料以文字格式儲存)
最後則是使用 sapply 這個函數,將 data 送進 getdoc 裡面運算;也就是三個網址丟進去後,會把三個網址頁面的所有文章依序抓下來並儲存。
把所有的文章儲存後,除了閱讀和做紀錄之外,也可以再利用 R 將所有文章做文字探勘,跑一個淺顯易懂的文字雲,還有分析這一小段期間大家所在討論的話題重點到底是什麼。
PS. 相較於Python的爬蟲似乎複雜了許多,不過把文字分析的程式碼直接寫在這後面來執行也蠻方便的。