作者bluecadence (Poincarérecurrence)
看板R_Language
標題[分享] 使用R抓取證交所股價資料
時間Sat Jul 22 14:40:28 2017
因為有網友來信問到如何使用 R 抓取證交所網站股價資料
我就把簡單的作法,貼在這裡,讓有需要的網友參考。
(其實我本身是習慣使用 python 抓資料的)
原則上證交所有非常多種資料,資料的抓取方式都大同小異,
因為證交所前一陣子把資料都改成 json 格式,非常好抓。
大家可以依照自己需求,改一下參數,抓取想要的資料。
這裡我抓取特定日期,上市所有股票的交易資訊。
#
http://www.tse.com.tw/zh/page/trading/exchange/MI_INDEX.html
# 全部(不含權証 牛熊證 ....etc)
library(jsonlite)
qdate <- '20170721' #要抓取的日期
qtype <- 'ALLBUT0999' #全部(不含權証 牛熊證 ....etc)
ttime <- as.character(as.integer(as.POSIXct(Sys.time()))*100)
url <- paste0('
http://www.twse.com.tw/exchangeReport/MI_INDEX?',
'response=json&date=',qdate,'&type=',qtype,'&_=',ttime)
x <- fromJSON(url,flatten=T)
x$data5
個股資料都在 x$data5,有需求者依照自己要的清理一下資料,
例如存成csv,或存進資料庫,寫成自動程式等,這部份就請自行
處理。如果只想抓取特定股票例如台積電 2330,請研究一下
網站,抓取方式類似。
另外上櫃股票的網站抓取方式類似,也都是 json 格式資料。
:p
補上 python3 的程式碼
import time
import requests
qdate = '20170721'
qtype = 'ALLBUT0999'
ttime = str(int(time.time()*100))
url = '
http://www.twse.com.tw/exchangeReport/MI_INDEX?
response=json&date={}&type={}&_={}'.format(qdate,qtype,ttime)
page = requests.get(url)
x = page.json()
資料都在
x['data5']
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.155.222.243
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1500705634.A.F7B.html
推 f496328mm: 推推 07/22 15:54
推 f496328mm: Python會比較好抓資料嗎?看過很多爬蟲都是用Python 07/22 16:19
我對 R 的資料型態老是搞不清楚,所以比較喜歡使用 python XD
上面補上對應的 python 碼
推 TaiwanFight: 好抓程度一樣 看你喜歡哪種語法 07/22 16:26
※ 編輯: bluecadence (104.155.222.243), 07/22/2017 16:54:00
推 eegame: 讚嘆(跪讀 07/22 17:26
※ 編輯: bluecadence (104.155.222.243), 07/22/2017 19:08:06
推 f496328mm: 感謝 改天來試試 大大有github嗎? 想參考看看 07/22 21:37
推 k5171: 感謝分享 07/23 12:39
推 david31408: 大推 09/22 00:00