GET appledaily

library(httr)
res <- GET('http://www.appledaily.com.tw/realtimenews/section/new/')
res
## Response [http://www.appledaily.com.tw/realtimenews/section/new/]
##   Date: 2016-04-15 04:30
##   Status: 200
##   Content-Type: text/html; charset=utf-8
##   Size: 75.2 kB
## <!DOCTYPE html>
## <!--[if lt IE 7 ]> <html lang="zh-TW" class="ie6 ielt8"> <![endif]-->
## <!--[if IE 7 ]>    <html lang="zh-TW" class="ie7 ielt8"> <![endif]-->
## <!--[if IE 8 ]>    <html lang="zh-TW" class="ie8"> <![endif]-->
## <!--[if (gte IE 9)|!(IE)]><!--> <html lang="zh-TW"> <!--<![endif]-->
## <head>
##   <meta charset="utf-8" />
##   <title>蘋果即時新聞|蘋果日報|Apple Daily</title>
##   <meta name="description" content="蘋果日報網站提供即時、快速、豐富的最新時事動態,包含國際、社會、娛樂、政...
##   <meta name="keywords" content="蘋果日報,Apple Daily,台灣,壹傳媒,Apple, Animatio...
## ...

POST THSRC

library(httr)
url <- "https://www.thsrc.com.tw/tw/TimeTable/SearchResult"
payload <- list(
  StartStation='977abb69-413a-4ccf-a109-0272c24fd490',
  EndStation='fbd828d8-b1da-4b06-a3bd-680cdca4d2cd',
  SearchDate='2016/04/09',
  SearchTime='15:00',
  SearchWay='DepartureInMandarin'
)

res<-POST(url, body=payload, encode="form")
res
## Response [https://www.thsrc.com.tw/tw/ErrorHandler/ErrorProgram]
##   Date: 2016-04-15 04:30
##   Status: 411
##   Content-Type: text/html; charset=us-ascii
##   Size: 344 B
## <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/h...
## <HTML><HEAD><TITLE>Length Required</TITLE>
## <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></...
## <BODY><h2>Length Required</h2>
## <hr><p>HTTP Error 411. The request must be chunked or have a content len...
## </BODY></HTML>

Markdown Sample

heading 1

heading 2

heading 3

  • list item
    1. item1
    2. item2
    3. item3
  • list item2

To understand Markdown

List Operation

p1 <- list(height = 170, weight = 60, name ="annie" )
p1
## $height
## [1] 170
## 
## $weight
## [1] 60
## 
## $name
## [1] "annie"
p1$height
## [1] 170

GET Taiwan Railroad

library(httr)
qoo <- GET('http://twtraffic.tra.gov.tw/twrail/SearchResult.aspx?searchtype=0&searchdate=2016/04/09&fromstation=1810&tostation=1008&trainclass=%271100%27,%271101%27,%271102%27,%271107%27,%271108%27,%271110%27,%271120%27&fromtime=0600&totime=2359')
qoo
## Response [http://twtraffic.tra.gov.tw/twrail/SearchResult.aspx?searchtype=0&searchdate=2016/04/09&fromstation=1810&tostation=1008&trainclass=%271100%27,%271101%27,%271102%27,%271107%27,%271108%27,%271110%27,%271120%27&fromtime=0600&totime=2359]
##   Date: 2016-04-15 04:30
##   Status: 200
##   Content-Type: text/html; charset=utf-8
##   Size: 3.16 kB
## 
## 
## <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w...
## <html xmlns="http://www.w3.org/1999/xhtml">
## <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"...
## 
## </title><link href="layout.css" rel="stylesheet" type="text/css" />
## 
##     <script src="http://code.jquery.com/jquery-1.4.min.js" type="text/ja...
## 
## ...

magrittr

data(iris)
?iris
## starting httpd help server ...
##  done
View(iris)
a <- head(iris)
b <- a[3,]
c<-b['Sepal.Length']
tail(c,1)
##   Sepal.Length
## 3          4.7
tail(head(iris)[3,]['Sepal.Length'],1)
##   Sepal.Length
## 3          4.7
#install.packages("magrittr")
library(magrittr)
iris %>% head() %>% .[3,] %>% .['Sepal.Length'] %>% tail(1)
##   Sepal.Length
## 3          4.7

rvest

library(httr)
library(rvest)
## Loading required package: xml2
res <- GET('http://www.appledaily.com.tw/realtimenews/section/new/')

# harvest by tag name : time
content(res) %>% html_nodes('time') %>% .[1]
## {xml_nodeset (1)}
## [1] <time>2016 / 04 / 15</time>
content(res) %>% html_nodes('h1.dddd time') 
## {xml_nodeset (1)}
## [1] <time>2016 / 04 / 15</time>
content(res) %>% html_nodes('#maincontent > div.thoracis > div.abdominis.rlby.clearmen > h1 > time') %>% html_text()
## [1] "2016 / 04 / 15"
# harvest by css ID: maincontent
content(res) %>% html_nodes('#maincontent') 
## {xml_nodeset (1)}
## [1] <article id="maincontent" class="vertebrae">\n                  <sty ...
# harvest by css class: rtddt
content(res) %>% html_nodes('.rtddt') 
## {xml_nodeset (30)}
##  [1] <li class="rtddt local">\n                                    <a hr ...
##  [2] <li class="rtddt local even">\n                                     ...
##  [3] <li class="rtddt life">\n                                    <a hre ...
##  [4] <li class="rtddt busi even">\n                                    < ...
##  [5] <li class="rtddt life">\n                                    <a hre ...
##  [6] <li class="rtddt polit even">\n                                     ...
##  [7] <li class="rtddt polit">\n                                    <a hr ...
##  [8] <li class="rtddt polit even">\n                                     ...
##  [9] <li class="rtddt strange">\n                                    <a  ...
## [10] <li class="rtddt strange even">\n                                   ...
## [11] <li class="rtddt local">\n                                    <a hr ...
## [12] <li class="rtddt ccc even">\n                                    <a ...
## [13] <li class="rtddt polit">\n                                    <a hr ...
## [14] <li class="rtddt polit even">\n                                     ...
## [15] <li class="rtddt sport">\n                                    <a hr ...
## [16] <li class="rtddt inter even">\n                                     ...
## [17] <li class="rtddt inter">\n                                    <a hr ...
## [18] <li class="rtddt life even">\n                                    < ...
## [19] <li class="rtddt ccc">\n                                    <a href ...
## [20] <li class="rtddt local even">\n                                     ...
## ...
# harvest by list li with css class: rtddt
content(res) %>% html_nodes('li.rtddt') 
## {xml_nodeset (30)}
##  [1] <li class="rtddt local">\n                                    <a hr ...
##  [2] <li class="rtddt local even">\n                                     ...
##  [3] <li class="rtddt life">\n                                    <a hre ...
##  [4] <li class="rtddt busi even">\n                                    < ...
##  [5] <li class="rtddt life">\n                                    <a hre ...
##  [6] <li class="rtddt polit even">\n                                     ...
##  [7] <li class="rtddt polit">\n                                    <a hr ...
##  [8] <li class="rtddt polit even">\n                                     ...
##  [9] <li class="rtddt strange">\n                                    <a  ...
## [10] <li class="rtddt strange even">\n                                   ...
## [11] <li class="rtddt local">\n                                    <a hr ...
## [12] <li class="rtddt ccc even">\n                                    <a ...
## [13] <li class="rtddt polit">\n                                    <a hr ...
## [14] <li class="rtddt polit even">\n                                     ...
## [15] <li class="rtddt sport">\n                                    <a hr ...
## [16] <li class="rtddt inter even">\n                                     ...
## [17] <li class="rtddt inter">\n                                    <a hr ...
## [18] <li class="rtddt life even">\n                                    < ...
## [19] <li class="rtddt ccc">\n                                    <a href ...
## [20] <li class="rtddt local even">\n                                     ...
## ...

Comparing httr GET and rvest read_html

library(httr)
library(rvest)
res <- GET('http://www.appledaily.com.tw/realtimenews/section/new/')

# using httr GET
content(res) %>% html_nodes('#maincontent > div.thoracis > div.abdominis.rlby.clearmen > h1 > time') %>% html_text()
## [1] "2016 / 04 / 15"
# using rvest read_html 
read_html('http://www.appledaily.com.tw/realtimenews/section/new/')  %>% html_nodes('#maincontent > div.thoracis > div.abdominis.rlby.clearmen > h1 > time') %>% html_text()
## [1] "2016 / 04 / 15"

Get appledaily list

url <- 'http://www.appledaily.com.tw/realtimenews/section/new/'
Sys.getlocale()
## [1] "LC_COLLATE=Chinese (Traditional)_Taiwan.950;LC_CTYPE=Chinese (Traditional)_Taiwan.950;LC_MONETARY=Chinese (Traditional)_Taiwan.950;LC_NUMERIC=C;LC_TIME=Chinese (Traditional)_Taiwan.950"
li <- read_html(url, encoding = 'UTF-8') %>% html_nodes('li.rtddt')

datetime <- li %>% html_nodes('time') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8')
h1 <- li %>% html_nodes('h1') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8') 
h2 <- li %>% html_nodes('h2') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8')

li %>% html_nodes('a') %>% html_attr('href')
##  [1] "/realtimenews/article/local/20160415/839508/5月大女嬰疑嗆奶 母急奔診所求助"                    
##  [2] "/realtimenews/article/local/20160415/839409/【更新】甲仙國小拔河隊疑食物中毒 14生送醫"         
##  [3] "/realtimenews/article/life/20160415/839472/熊本強震!旅遊交通資訊懶人包"                        
##  [4] "/realtimenews/article/finance/20160415/839506/九州為半導體重鎮 強震後供應成市場焦點"           
##  [5] "/realtimenews/article/life/20160415/838305/【健康問蘋果】吃黑色食物防白髮?"                    
##  [6] "/realtimenews/article/politics/20160415/839499/【財產申報】朱立倫繼承遺產 存款增加4千多萬元"   
##  [7] "/realtimenews/article/politics/20160415/839503/釋昭慧反野保法鬆綁 「莫成山林浩劫罪人」"        
##  [8] "/realtimenews/article/politics/20160415/839509/綠委表決狂勝 藍委喊:反對多數暴力"              
##  [9] "/realtimenews/article/strange/20160415/839009/抽籤決定去哪玩 旅店創新意"                       
## [10] "/realtimenews/article/strange/20160415/839092/老屋翻新 變成了聲「色」場所?!"                 
## [11] "/realtimenews/article/local/20160415/839463/500萬BMW撞橋墩 側翻再撞公車嚇壞乘客"               
## [12] "/realtimenews/article/3c/20160415/839501/盡情舞動 超搞笑音樂節奏遊戲"                          
## [13] "/realtimenews/article/politics/20160415/839498/是否回黨中央效力? 徐巧芯:沒接到徵詢"          
## [14] "/realtimenews/article/politics/20160415/839465/徐巧芯反鄉鎮長官派 鄭運鵬諷:別只看眼前樁腳利益"
## [15] "/realtimenews/article/sports/20160415/839444/【更新】熊本大地震 旅日球員盧曉晴、劉依貞報平安"  
## [16] "/realtimenews/article/international/20160415/839437/【肯亞案】電信詐騙台嫌分贓手法 陸媒大揭密" 
## [17] "/realtimenews/article/international/20160415/839482/【央廣RTI】遏止極端主義者俄籲關閉土敘邊界"  
## [18] "/realtimenews/article/life/20160415/839507/疑海砂屋 蘆洲民宅天花板崩裂掉落"                    
## [19] "/realtimenews/article/3c/20160415/839493/【GAME啥】《攻殼機動隊》電影開拍 黑寡婦變生化人"      
## [20] "/realtimenews/article/local/20160415/839488/疑濕滑自摔 保全倒臥社區流血不治"                   
## [21] "/realtimenews/article/life/20160415/839495/阿兵哥好心借傘 但英雄傘樓歪"                        
## [22] "/realtimenews/article/local/20160415/839486/小三通走私32顆蛋 查獲時雛鳥孵化了!"               
## [23] "/realtimenews/article/sports/20160415/839454/【蘋果足球】槍手追分不勝無歸"                      
## [24] "/realtimenews/article/forum/20160415/839494/中國人為何容易被騙"                                 
## [25] "/realtimenews/article/finance/20160415/839474/新台幣午盤~32.34元 升值9.6分"                    
## [26] "/realtimenews/article/local/20160415/839447/救命錢都A!惡公僕污30萬救濟金 還推責給共犯"        
## [27] "/realtimenews/article/fashion/20160415/839466/旅日設計師在波麗路西餐廳辦秀 NHK全程側拍"        
## [28] "/realtimenews/article/international/20160415/839469/屋內燒香釀火災 糊塗媽害死2女娃"            
## [29] "/realtimenews/article/life/20160415/839487/檢調搜索浩鼎 中研院:現無檢調入院搜索"              
## [30] "/realtimenews/article/forum/20160415/839491/從《四方報》被停刊談起"
appledf <- data.frame(datetime = datetime, title = h1, category = h2 )
appledf[  appledf$category == '娛樂',   ]
## [1] datetime title    category
## <0 rows> (or 0-length row.names)

Data Frame Demo

name <-'mike' 
name
## [1] "mike"
name <- c('mike', 'alice', 'john')
height <- c(170, 162, 180)
weight <- c(66,52,77)

df<- data.frame(namec = name, heightc = height, weightc = weight)

df[1,]
##   namec heightc weightc
## 1  mike     170      66
df[1, 'heightc']
## [1] 170
df[df$weightc >= 60, ]
##   namec heightc weightc
## 1  mike     170      66
## 3  john     180      77
df
##   namec heightc weightc
## 1  mike     170      66
## 2 alice     162      52
## 3  john     180      77
View(df)

# get second row 
df[2,]
##   namec heightc weightc
## 2 alice     162      52
# get column named after heightc
df[,2]
## [1] 170 162 180
df$heightc
## [1] 170 162 180
#get alice's height
df[2,'heightc']
## [1] 162
# get height over 170
df[ df$heightc >=170  , c('namec', 'heightc')  ]
##   namec heightc
## 1  mike     170
## 3  john     180
# get bmi of these three, bmi = weight / (height^2)
df$bmi = df$weightc / ((df$heightc / 100)^2)
df
##   namec heightc weightc      bmi
## 1  mike     170      66 22.83737
## 2 alice     162      52 19.81405
## 3  john     180      77 23.76543
max(df$bmi)
## [1] 23.76543
summary(df$bmi)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   19.81   21.33   22.84   22.14   23.30   23.77

paste demo

a <- 'hello'
b <- 'world'

# paste with space
paste(a,b)
## [1] "hello world"
# paste without space
paste0(a,b)
## [1] "helloworld"
# using magrittr
a %>% paste(b)
## [1] "hello world"
# using magrittr
a %>% paste(b, .)
## [1] "world hello"

Get appledaily list 2

url <- 'http://www.appledaily.com.tw/realtimenews/section/new/'

li <- read_html(url, encoding = 'UTF-8') %>% html_nodes('li.rtddt')

datetime <- li %>% html_nodes('time') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8')
h1 <- li %>% html_nodes('h1') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8') 
h2 <- li %>% html_nodes('h2') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8')

url <- li %>% html_nodes('a') %>% html_attr('href')

url <- paste0('http://www.appledaily.com.tw',url)
url 
##  [1] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839508/5月大女嬰疑嗆奶 母急奔診所求助"                    
##  [2] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839409/【更新】甲仙國小拔河隊疑食物中毒 14生送醫"         
##  [3] "http://www.appledaily.com.tw/realtimenews/article/life/20160415/839472/熊本強震!旅遊交通資訊懶人包"                        
##  [4] "http://www.appledaily.com.tw/realtimenews/article/finance/20160415/839506/九州為半導體重鎮 強震後供應成市場焦點"           
##  [5] "http://www.appledaily.com.tw/realtimenews/article/life/20160415/838305/【健康問蘋果】吃黑色食物防白髮?"                    
##  [6] "http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839499/【財產申報】朱立倫繼承遺產 存款增加4千多萬元"   
##  [7] "http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839503/釋昭慧反野保法鬆綁 「莫成山林浩劫罪人」"        
##  [8] "http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839509/綠委表決狂勝 藍委喊:反對多數暴力"              
##  [9] "http://www.appledaily.com.tw/realtimenews/article/strange/20160415/839009/抽籤決定去哪玩 旅店創新意"                       
## [10] "http://www.appledaily.com.tw/realtimenews/article/strange/20160415/839092/老屋翻新 變成了聲「色」場所?!"                 
## [11] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839463/500萬BMW撞橋墩 側翻再撞公車嚇壞乘客"               
## [12] "http://www.appledaily.com.tw/realtimenews/article/3c/20160415/839501/盡情舞動 超搞笑音樂節奏遊戲"                          
## [13] "http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839498/是否回黨中央效力? 徐巧芯:沒接到徵詢"          
## [14] "http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839465/徐巧芯反鄉鎮長官派 鄭運鵬諷:別只看眼前樁腳利益"
## [15] "http://www.appledaily.com.tw/realtimenews/article/sports/20160415/839444/【更新】熊本大地震 旅日球員盧曉晴、劉依貞報平安"  
## [16] "http://www.appledaily.com.tw/realtimenews/article/international/20160415/839437/【肯亞案】電信詐騙台嫌分贓手法 陸媒大揭密" 
## [17] "http://www.appledaily.com.tw/realtimenews/article/international/20160415/839482/【央廣RTI】遏止極端主義者俄籲關閉土敘邊界"  
## [18] "http://www.appledaily.com.tw/realtimenews/article/life/20160415/839507/疑海砂屋 蘆洲民宅天花板崩裂掉落"                    
## [19] "http://www.appledaily.com.tw/realtimenews/article/3c/20160415/839493/【GAME啥】《攻殼機動隊》電影開拍 黑寡婦變生化人"      
## [20] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839488/疑濕滑自摔 保全倒臥社區流血不治"                   
## [21] "http://www.appledaily.com.tw/realtimenews/article/life/20160415/839495/阿兵哥好心借傘 但英雄傘樓歪"                        
## [22] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839486/小三通走私32顆蛋 查獲時雛鳥孵化了!"               
## [23] "http://www.appledaily.com.tw/realtimenews/article/sports/20160415/839454/【蘋果足球】槍手追分不勝無歸"                      
## [24] "http://www.appledaily.com.tw/realtimenews/article/forum/20160415/839494/中國人為何容易被騙"                                 
## [25] "http://www.appledaily.com.tw/realtimenews/article/finance/20160415/839474/新台幣午盤~32.34元 升值9.6分"                    
## [26] "http://www.appledaily.com.tw/realtimenews/article/local/20160415/839447/救命錢都A!惡公僕污30萬救濟金 還推責給共犯"        
## [27] "http://www.appledaily.com.tw/realtimenews/article/fashion/20160415/839466/旅日設計師在波麗路西餐廳辦秀 NHK全程側拍"        
## [28] "http://www.appledaily.com.tw/realtimenews/article/international/20160415/839469/屋內燒香釀火災 糊塗媽害死2女娃"            
## [29] "http://www.appledaily.com.tw/realtimenews/article/life/20160415/839487/檢調搜索浩鼎 中研院:現無檢調入院搜索"              
## [30] "http://www.appledaily.com.tw/realtimenews/article/forum/20160415/839491/從《四方報》被停刊談起"
appledf <- data.frame(datetime = datetime, title = h1, category = h2, url = url  )
appledf
##    datetime                                              title category
## 1     12:26                 5月大女嬰疑嗆奶 母急奔診所求助(0)     社會
## 2     12:24    【更新】甲仙國小拔河隊疑食物中毒 14生...(1280)     社會
## 3     12:21                  熊本強震!旅遊交通資訊懶人包(170)     生活
## 4     12:21         九州為半導體重鎮 強震後供應成市場焦點(43)     財經
## 5     12:20             【健康問蘋果】吃黑色食物防白髮?(1079)     生活
## 6     12:20    【財產申報】朱立倫繼承遺產 存款增加4千...(166)     政治
## 7     12:20      釋昭慧反野保法鬆綁 「莫成山林浩劫罪人」(187)     政治
## 8     12:19            綠委表決狂勝 藍委喊:反對多數暴力(218)     政治
## 9     12:16                    抽籤決定去哪玩 旅店創新意(216)     搜奇
## 10    12:16              老屋翻新 變成了聲「色」場所?!(261)     搜奇
## 11    12:15         500萬BMW撞橋墩 側翻再撞公車嚇壞乘...(913)     社會
## 12    12:15                   盡情舞動 超搞笑音樂節奏遊戲(83)       3C
## 13    12:13        是否回黨中央效力? 徐巧芯:沒接到徵詢(317)     政治
## 14    12:12   徐巧芯反鄉鎮長官派 鄭運鵬諷:別只看眼前...(439)     政治
## 15    12:11  【更新】熊本大地震 旅日球員盧曉晴、劉依...(1433)     體育
## 16    12:10 【肯亞案】電信詐騙台嫌分贓手法 陸媒大揭...(10635)     國際
## 17    12:10         【央廣RTI】遏止極端主義者  俄籲關閉...(64)     國際
## 18    12:10                疑海砂屋 蘆洲民宅天花板崩裂掉落(0)     生活
## 19    12:10       【GAME啥】《攻殼機動隊》電影開拍 黑...(212)       3C
## 20    12:09             疑濕滑自摔 保全倒臥社區流血不治(1169)     社會
## 21    12:09                 阿兵哥好心借傘 但英雄傘樓歪(1325)     生活
## 22    12:08          小三通走私32顆蛋 查獲時雛鳥孵化了!(972)     社會
## 23    12:07                  【蘋果足球】槍手追分不勝無歸(125)     體育
## 24    12:07                           中國人為何容易被騙(1166)     論壇
## 25    12:06                 新台幣午盤~32.34元 升值9.6分(120)     財經
## 26    12:05      救命錢都A!惡公僕污30萬救濟金 還推責...(639)     社會
## 27    12:05      旅日設計師在波麗路西餐廳辦秀 NHK全程...(489)     時尚
## 28    12:05              屋內燒香釀火災 糊塗媽害死2女娃(1088)     國際
## 29    12:04        檢調搜索浩鼎 中研院:現無檢調入院搜索(407)     生活
## 30    12:03                        從《四方報》被停刊談起(175)     論壇
##                                                                                                                            url
## 1                      http://www.appledaily.com.tw/realtimenews/article/local/20160415/839508/5月大女嬰疑嗆奶 母急奔診所求助
## 2           http://www.appledaily.com.tw/realtimenews/article/local/20160415/839409/【更新】甲仙國小拔河隊疑食物中毒 14生送醫
## 3                          http://www.appledaily.com.tw/realtimenews/article/life/20160415/839472/熊本強震!旅遊交通資訊懶人包
## 4             http://www.appledaily.com.tw/realtimenews/article/finance/20160415/839506/九州為半導體重鎮 強震後供應成市場焦點
## 5                      http://www.appledaily.com.tw/realtimenews/article/life/20160415/838305/【健康問蘋果】吃黑色食物防白髮?
## 6     http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839499/【財產申報】朱立倫繼承遺產 存款增加4千多萬元
## 7          http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839503/釋昭慧反野保法鬆綁 「莫成山林浩劫罪人」
## 8                http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839509/綠委表決狂勝 藍委喊:反對多數暴力
## 9                         http://www.appledaily.com.tw/realtimenews/article/strange/20160415/839009/抽籤決定去哪玩 旅店創新意
## 10                  http://www.appledaily.com.tw/realtimenews/article/strange/20160415/839092/老屋翻新 變成了聲「色」場所?!
## 11                http://www.appledaily.com.tw/realtimenews/article/local/20160415/839463/500萬BMW撞橋墩 側翻再撞公車嚇壞乘客
## 12                           http://www.appledaily.com.tw/realtimenews/article/3c/20160415/839501/盡情舞動 超搞笑音樂節奏遊戲
## 13           http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839498/是否回黨中央效力? 徐巧芯:沒接到徵詢
## 14 http://www.appledaily.com.tw/realtimenews/article/politics/20160415/839465/徐巧芯反鄉鎮長官派 鄭運鵬諷:別只看眼前樁腳利益
## 15   http://www.appledaily.com.tw/realtimenews/article/sports/20160415/839444/【更新】熊本大地震 旅日球員盧曉晴、劉依貞報平安
## 16  http://www.appledaily.com.tw/realtimenews/article/international/20160415/839437/【肯亞案】電信詐騙台嫌分贓手法 陸媒大揭密
## 17   http://www.appledaily.com.tw/realtimenews/article/international/20160415/839482/【央廣RTI】遏止極端主義者俄籲關閉土敘邊界
## 18                     http://www.appledaily.com.tw/realtimenews/article/life/20160415/839507/疑海砂屋 蘆洲民宅天花板崩裂掉落
## 19       http://www.appledaily.com.tw/realtimenews/article/3c/20160415/839493/【GAME啥】《攻殼機動隊》電影開拍 黑寡婦變生化人
## 20                    http://www.appledaily.com.tw/realtimenews/article/local/20160415/839488/疑濕滑自摔 保全倒臥社區流血不治
## 21                         http://www.appledaily.com.tw/realtimenews/article/life/20160415/839495/阿兵哥好心借傘 但英雄傘樓歪
## 22                http://www.appledaily.com.tw/realtimenews/article/local/20160415/839486/小三通走私32顆蛋 查獲時雛鳥孵化了!
## 23                       http://www.appledaily.com.tw/realtimenews/article/sports/20160415/839454/【蘋果足球】槍手追分不勝無歸
## 24                                  http://www.appledaily.com.tw/realtimenews/article/forum/20160415/839494/中國人為何容易被騙
## 25                     http://www.appledaily.com.tw/realtimenews/article/finance/20160415/839474/新台幣午盤~32.34元 升值9.6分
## 26         http://www.appledaily.com.tw/realtimenews/article/local/20160415/839447/救命錢都A!惡公僕污30萬救濟金 還推責給共犯
## 27         http://www.appledaily.com.tw/realtimenews/article/fashion/20160415/839466/旅日設計師在波麗路西餐廳辦秀 NHK全程側拍
## 28             http://www.appledaily.com.tw/realtimenews/article/international/20160415/839469/屋內燒香釀火災 糊塗媽害死2女娃
## 29               http://www.appledaily.com.tw/realtimenews/article/life/20160415/839487/檢調搜索浩鼎 中研院:現無檢調入院搜索
## 30                              http://www.appledaily.com.tw/realtimenews/article/forum/20160415/839491/從《四方報》被停刊談起
url <- 'http://www.appledaily.com.tw/realtimenews/article/local/20160409/834957/壯漢打劫弱女子 竟還用「這個」亂噴'

read_html(url) %>% html_nodes('.trans') %>% html_text() %>%iconv(from='UTF-8', to='UTF-8')
## [1] "\n                                        (新增影片)新北市1名36歲黃姓男子,日前開車行經淡水小白宮附近時,發現2名女子坐在路邊聊天,體型壯碩的黃男竟拿防狼噴霧器攻擊後,趁亂搶走放在一旁的包包,沒想到防狼噴霧器似乎過期沒發生效用,女子大聲喊叫搶劫,黃男還嚇得開車落荒而逃,昨天被警方循線逮捕。<U+00A0>警方表示,黃男身高175、體重80公斤體型壯碩,去年剛假釋出獄,因為找不到工作竟又開始犯案偷車,4號晚間黃男就開著偷來的車在路上物色搶劫對象,在淡 水小白宮旁發現兩名女子在看夜景,隨即上前持防狼噴霧器攻擊,並搶走放在一旁的公事包,得手一支手機跟現金1300元。<U+00A0>黃男犯案後躲回台北市住處,並將贓車丟棄在淡水新市鎮內,事隔多天以為沒事了,昨天晚上竟還大喇喇地跟女友在逛夜市吃藥燉排骨,警方發現黃男後隨即上前表明身分,黃男嚇的坦承犯案,警方也在黃男住處搜出其他來路不明的包包及金融卡,將再擴大追查,訊後依搶奪、竊盜罪將黃男移送法辦。(突發中心張貴翔/新北報導)<U+00A0>發稿時間:12:18更新時間:15:13<U+00A0>看了這則新聞的人,也看了……<U+00A0>中校妻紅杏出牆 控老農贈「菜花」屏東陣頭喋血 主嫌落網羈押禁見囂張「韓國狼」 竟摸台鐵女服務員下體<U+00A0><U+00A0><U+00A0>\n                    黃男體型壯碩,竟用防狼噴霧器欺負弱女子。翻攝畫面黃男開著偷來的贓車被警方掌握行蹤。翻攝畫面事發地點位於淡水小白宮附近的涼亭。翻攝畫面警方在黃男家中找到當時搶來的公事包。翻攝畫面                    \n                    googletag.cmd.push(function() {googletag.display('teadstv');})\n                    googletag.cmd.push(function() {googletag.display('goldenhorse');})\n                    googletag.cmd.push(function() {googletag.display('textlink');})\n                    有話要說 投稿「即時論壇」\n                  "

function demo

f <- function(e, a = 5){
  e + a
}

f(3)
## [1] 8
f(3,2)
## [1] 5
f <- function(e, a = 5, b = 2){
  e + a *b
}
f(3,2,2)
## [1] 7
f(a = 3, b = 2,e =2)
## [1] 8

get article function

getArticle <- function(url){
  read_html(url)%>% 
    html_nodes('.articulum.trans') %>% 
    html_text() %>% 
    iconv(from='UTF-8', to='UTF-8')
}

a <- getArticle('http://www.appledaily.com.tw/realtimenews/article/local/20160409/834957/壯漢打劫弱女子 竟還用「這個」亂噴')
a
## [1] "\n                                        (新增影片)新北市1名36歲黃姓男子,日前開車行經淡水小白宮附近時,發現2名女子坐在路邊聊天,體型壯碩的黃男竟拿防狼噴霧器攻擊後,趁亂搶走放在一旁的包包,沒想到防狼噴霧器似乎過期沒發生效用,女子大聲喊叫搶劫,黃男還嚇得開車落荒而逃,昨天被警方循線逮捕。<U+00A0>警方表示,黃男身高175、體重80公斤體型壯碩,去年剛假釋出獄,因為找不到工作竟又開始犯案偷車,4號晚間黃男就開著偷來的車在路上物色搶劫對象,在淡 水小白宮旁發現兩名女子在看夜景,隨即上前持防狼噴霧器攻擊,並搶走放在一旁的公事包,得手一支手機跟現金1300元。<U+00A0>黃男犯案後躲回台北市住處,並將贓車丟棄在淡水新市鎮內,事隔多天以為沒事了,昨天晚上竟還大喇喇地跟女友在逛夜市吃藥燉排骨,警方發現黃男後隨即上前表明身分,黃男嚇的坦承犯案,警方也在黃男住處搜出其他來路不明的包包及金融卡,將再擴大追查,訊後依搶奪、竊盜罪將黃男移送法辦。(突發中心張貴翔/新北報導)<U+00A0>發稿時間:12:18更新時間:15:13<U+00A0>看了這則新聞的人,也看了……<U+00A0>中校妻紅杏出牆 控老農贈「菜花」屏東陣頭喋血 主嫌落網羈押禁見囂張「韓國狼」 竟摸台鐵女服務員下體<U+00A0><U+00A0><U+00A0>\n                    黃男體型壯碩,竟用防狼噴霧器欺負弱女子。翻攝畫面黃男開著偷來的贓車被警方掌握行蹤。翻攝畫面事發地點位於淡水小白宮附近的涼亭。翻攝畫面警方在黃男家中找到當時搶來的公事包。翻攝畫面                    \n                    googletag.cmd.push(function() {googletag.display('teadstv');})\n                    googletag.cmd.push(function() {googletag.display('goldenhorse');})\n                    googletag.cmd.push(function() {googletag.display('textlink');})\n                    有話要說 投稿「即時論壇」\n                  "

for looping

1:30
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [24] 24 25 26 27 28 29 30
1:100
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
##  [18]  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34
##  [35]  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51
##  [52]  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68
##  [69]  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85
##  [86]  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100
for(i in 1:100){
  print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
## [1] 11
## [1] 12
## [1] 13
## [1] 14
## [1] 15
## [1] 16
## [1] 17
## [1] 18
## [1] 19
## [1] 20
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25
## [1] 26
## [1] 27
## [1] 28
## [1] 29
## [1] 30
## [1] 31
## [1] 32
## [1] 33
## [1] 34
## [1] 35
## [1] 36
## [1] 37
## [1] 38
## [1] 39
## [1] 40
## [1] 41
## [1] 42
## [1] 43
## [1] 44
## [1] 45
## [1] 46
## [1] 47
## [1] 48
## [1] 49
## [1] 50
## [1] 51
## [1] 52
## [1] 53
## [1] 54
## [1] 55
## [1] 56
## [1] 57
## [1] 58
## [1] 59
## [1] 60
## [1] 61
## [1] 62
## [1] 63
## [1] 64
## [1] 65
## [1] 66
## [1] 67
## [1] 68
## [1] 69
## [1] 70
## [1] 71
## [1] 72
## [1] 73
## [1] 74
## [1] 75
## [1] 76
## [1] 77
## [1] 78
## [1] 79
## [1] 80
## [1] 81
## [1] 82
## [1] 83
## [1] 84
## [1] 85
## [1] 86
## [1] 87
## [1] 88
## [1] 89
## [1] 90
## [1] 91
## [1] 92
## [1] 93
## [1] 94
## [1] 95
## [1] 96
## [1] 97
## [1] 98
## [1] 99
## [1] 100
for(i in 1:nrow(appledf)){
  print(appledf[i,]$title)
}
## [1] 5月大女嬰疑嗆奶 母急奔診所求助(0)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【更新】甲仙國小拔河隊疑食物中毒 14生...(1280)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 熊本強震!旅遊交通資訊懶人包(170)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 九州為半導體重鎮 強震後供應成市場焦點(43)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【健康問蘋果】吃黑色食物防白髮?(1079)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【財產申報】朱立倫繼承遺產 存款增加4千...(166)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 釋昭慧反野保法鬆綁 「莫成山林浩劫罪人」(187)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 綠委表決狂勝 藍委喊:反對多數暴力(218)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 抽籤決定去哪玩 旅店創新意(216)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 老屋翻新 變成了聲「色」場所?!(261)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 500萬BMW撞橋墩 側翻再撞公車嚇壞乘...(913)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 盡情舞動 超搞笑音樂節奏遊戲(83)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 是否回黨中央效力? 徐巧芯:沒接到徵詢(317)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 徐巧芯反鄉鎮長官派 鄭運鵬諷:別只看眼前...(439)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【更新】熊本大地震 旅日球員盧曉晴、劉依...(1433)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【肯亞案】電信詐騙台嫌分贓手法 陸媒大揭...(10635)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【央廣RTI】遏止極端主義者  俄籲關閉...(64)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 疑海砂屋 蘆洲民宅天花板崩裂掉落(0)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【GAME啥】《攻殼機動隊》電影開拍 黑...(212)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 疑濕滑自摔 保全倒臥社區流血不治(1169)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 阿兵哥好心借傘 但英雄傘樓歪(1325)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 小三通走私32顆蛋 查獲時雛鳥孵化了!(972)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 【蘋果足球】槍手追分不勝無歸(125)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 中國人為何容易被騙(1166)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 新台幣午盤~32.34元 升值9.6分(120)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 救命錢都A!惡公僕污30萬救濟金 還推責...(639)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 旅日設計師在波麗路西餐廳辦秀 NHK全程...(489)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 屋內燒香釀火災 糊塗媽害死2女娃(1088)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 檢調搜索浩鼎 中研院:現無檢調入院搜索(407)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
## [1] 從《四方報》被停刊談起(175)
## 30 Levels: 【GAME啥】《攻殼機動隊》電影開拍 黑...(212) ...
appledf$content = NA
for(i in 1:nrow(appledf)){
  appledf[i,]$content <- getArticle(as.character(appledf[i,]$url))
}

vectorizing programming

a <- c(1,2,3,4,5)
a > 3
## [1] FALSE FALSE FALSE  TRUE  TRUE
a[a>3]
## [1] 4 5
a <- list(a = c(1,2,3,4,5), b = 1:100, c = c(1,2))
lapply(a, sum)
## $a
## [1] 15
## 
## $b
## [1] 5050
## 
## $c
## [1] 3
sapply(a, sum)
##    a    b    c 
##   15 5050    3
x = list(c(1,2,3,4), c(5,6,7,8))
lapply(x, sum)
## [[1]]
## [1] 10
## 
## [[2]]
## [1] 26
sapply(x, sum)
## [1] 10 26

sapply get article detail

appledf$content <- NULL
appledf$url <- as.character(appledf$url)

appledf$content <- sapply(appledf$url, getArticle)