返回網站

PTT 熱門看板最新文章下載

利用 R 的 httr、xml2、stringr 套件爬最熱門看板的文章

· R

把現在 PTT 最多人看的文章存起來!

  PTT 是一個時常保有上萬人在線的一個電子佈告欄,無時無刻都會有人撰寫文章或是提供新的資訊,甚至也是電視新聞的資料來源之一;而近年來 PTT 也有了網頁板,更方便大家即時瀏覽資訊。如果想知道大家正在討論些什麼,可以藉由熱門看板頁面看到各個看板以及看板在線人數,這時候只要往人多的地方走,就能知曉上千上萬人正在討論的話題囉。

第一名的八卦板有一萬三千多人在線。

接著就來用 R 將熱門看板的即時文章先保存下來吧。

這次使用到的套件有 httr、xml2 以及 stringr。

經由 httr、xml2 套件層層爬取後,可以抓出最熱門看板的網址,下面再利用類似的方法進入這個看板,然後收集前三頁的連結資訊在 data 裡。

(途中會用到 stringr 套件來抓連結裡面有規律變化的字串,並用 as.numeric 轉成數值格式)

18歲認證要設定,其餘跟上個步驟類似,並利用迴圈將三個網址整理出來。

接著先建立一個能抓取頁面裡所有文章內容的函式,其中 xml_text 可以將內容文字取出,還要編寫存檔路徑名稱及檔案的格式。(將 content0 的資料以文字格式儲存)

把要的內容 write 到指定路徑上。

最後則是使用 sapply 這個函數,將 data 送進 getdoc 裡面運算;也就是三個網址丟進去後,會把三個網址頁面的所有文章依序抓下來並儲存。

把所有的文章儲存後,除了閱讀和做紀錄之外,也可以再利用 R 將所有文章做文字探勘,跑一個淺顯易懂的文字雲,還有分析這一小段期間大家所在討論的話題重點到底是什麼。

PS. 相較於Python的爬蟲似乎複雜了許多,不過把文字分析的程式碼直接寫在這後面來執行也蠻方便的。