GET

library(rvest)
## Warning: package 'rvest' was built under R version 4.0.5
url <- 'https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&date=&type=&_=1642072683323'

#html_text(read_html(url) )

data <- read_html(url) %>% html_text()

POST

library(httr)
## Warning: package 'httr' was built under R version 4.0.5
url <- 'https://mops.twse.com.tw/mops/web/ajax_t163sb19'
payload <- list(
encodeURIComponent= '1',
step= '1',
firstin= '1',
TYPEK= 'sii',
code= '24',
year= '109',
season= '01'
)
library(rvest)
#res <-  POST(url,body = payload,encode ='form')
#res

JSON

library(rvest)
url <- 'https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&date=&type=&_=1642072683323'
url <- 'https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&date=20220112&type=MS&_=1642072683326'
#html_text(read_html(url) )

data <- read_html(url) %>% html_text()

library(jsonlite)
jd <- fromJSON(data)

#View(jd$data7)
df <- jd$data7
colnames(df) <- jd$fields7
#df
#write.csv(x = df, file = 'stocks.csv')
date <- '20220112'

getStock <- function(date){
  url <- paste0('https://www.twse.com.tw/exchangeReport/MI_INDEX?response=json&date=', date,'&type=MS&_=1642072683326')
  data <- read_html(url) %>% html_text()
  
  library(jsonlite)
  jd <- fromJSON(data)
  
  #View(jd$data7)
  df <- jd$data7
  colnames(df) <- jd$fields7
  #df$dt <- date
  return(df)
}

dates <- c('20220111','20220112','20220113')
dfall <- data.frame()
for(d in dates){
  df <- getStock(d)
  #df$dt <- d
  dfall <-rbind(dfall,df)
}
head(dfall)
##         成交統計    成交金額(元)  成交股數(股)  成交筆數
## 1     1.一般股票 295,669,923,044 4,768,092,963 2,198,891
## 2 2.台灣存託憑證     115,921,306    23,070,974     3,890
## 3     3.受益憑證               0             0         0
## 4          4.ETF  10,925,993,022   490,795,557   132,125
## 5     5.受益證券       9,460,199       568,413       165
## 6 6.變更交易股票      40,604,811     7,370,520     2,607

##HTML Parsing

library(rvest)
res <-read_html('https://news.ltn.com.tw/list/breakingnews')

title <- res %>% html_nodes('h3.title') %>% html_text()
dt <- res %>% html_nodes('span.time') %>% html_text()

url <- res %>% html_nodes('a.tit') %>% html_attr('href')
df <- data.frame(title = title, dt = dt, url = url)
head(df)
##                                                     title    dt
## 1         台南善化磚造平房傳火警 行動不便男困浴室嗆傷送醫 21:12
## 2              SBL》朱恩麟驚天三分彈絕殺 璞園喜迎本季首勝 21:10
## 3 「與魔鬼共舞」被嗆道歉 莊瑞雄:講的是國民黨地方勢力介入 21:07
## 4      不是台鋼條款!金管會研議委託書改革  第1季底前公布  21:06
## 5                   1/13 威力彩、雙贏彩、今彩539 開獎囉! 21:02
## 6     廉政署約談宜蘭縣府、羅東鎮公所官員 陸續抵地檢署訊問 21:02
##                                                          url
## 1  https://news.ltn.com.tw/news/society/breakingnews/3800517
## 2        https://sports.ltn.com.tw/news/breakingnews/3800518
## 3 https://news.ltn.com.tw/news/politics/breakingnews/3800491
## 4         https://ec.ltn.com.tw/article/breakingnews/3800511
## 5  https://news.ltn.com.tw/news/society/breakingnews/3800467
## 6  https://news.ltn.com.tw/news/society/breakingnews/3800488
#write.csv(df, 'ltn.csv')