Big Data Workshop 心得筆記:用 R 語言打造自己的爬蟲程式

之前看大數學堂的教學影片學了爬蟲技巧還有 Spark,這回看到 David 老師要開課,當然要來參加講座呀,好在最後加開了三十個名額,讓我可以聽現場。這場 Workshop 主要介紹怎麼下載與使用 R studio,利用蘋果新聞網頁為例,練習怎麼爬取資料,並做簡單的分析。


老師的投影片與範例連結在此

https://github.com/ywchiu/rcrawler

總結今天教的軟體與工具

  • R studio:免費開源軟體,跨平台的 R 語言 IDE
  • Google chrome 開發者工具:Chrome 的內建工具,可以看原始碼,Layout 方式,連線資訊等等
  • Info Lite:老師所做的 Chrome 外掛,可以在瀏覽器上直接選擇所要的區塊並顯示標籤

雖然 Google Chrome 開發者工具也可以選擇元素,但我覺得 Info lite 在選擇抓取元素時更為方便,他以顏色來做表示。選起來的區塊會變綠色,相同屬性區塊是黃色,不要的區塊是紅色,選完後右上方就可以看到最後選擇的標籤名稱。以下是實際的截圖:

lite e1458825819247 - Big Data Workshop 心得筆記:用 R 語言打造自己的爬蟲程式


練習範例

需要載入 rvest 套件 以下抓取首頁新聞,分為 time, title, category, URL 儲存

library(rvest)
surl = "http://www.appledaily.com.tw/realtimenews/section/new/"
apple = read_html(surl,encoding="UTF-8")
apple %>% iconv(from = ‘UTF-8’, to = ‘UTF-8’)
rddt = apple %>% html_nodes(‘.rtddt’)
time = rddt %>% html_nodes(‘time’) %>% html_text()
title = rddt %>% html_nodes(‘h1’) %>% html_text() %>% iconv(from = ‘UTF-8’, to = ‘UTF-8’)
category = rddt %>% html_nodes(‘h2’) %>% html_text() %>% iconv(from = ‘UTF-8’, to = ‘UTF-8’)
domain = "http://www.appledaily.com.tw"
url = rddt %>% html_nodes(‘a’) %>% html_attr(‘href’)
url = paste0(domain, url)

news = data.frame(time=time, title=title, category=category, url=url)

 


抓取Facebook留言

很多網頁下方都會外掛 Facebook 的留言功能,但是他不好撈取,而且過度存取有可能會被 BAN 掉,所以應善用 Facebook Graph API來抓資料,並用 Graph API Explorer 來輔助學習。 Graph API Explorer 這部份由於時間關係沒有細講,之後有空再來研究

Jerry
Jerry

樂於分享的軟體工程師,曾在新創與大型科技公司實習,獲得黑客松競賽冠軍,擔任資安研討會講者。長期熱衷於資訊安全、雲端服務、網路行銷等領域,希望將科技知識分享給更多人。內容轉載請來信:jlee58tw@gmail.com

發表回應