[分享] 使用R抓取證交所股價資料

作者: bluecadence (Maxwell's demon)   2017-07-22 14:40:28
因為有網友來信問到如何使用 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']
作者: f496328mm (為什麼會流淚)   2017-07-22 15:54:00
推推Python會比較好抓資料嗎?看過很多爬蟲都是用Python
作者: TaiwanFight   2017-07-22 16:26:00
好抓程度一樣 看你喜歡哪種語法
作者: eegame (yu)   2017-07-22 17:26:00
讚嘆(跪讀
作者: f496328mm (為什麼會流淚)   2017-07-22 21:37:00
感謝 改天來試試 大大有github嗎? 想參考看看
作者: k5171 (Jess)   2017-07-23 12:39:00
感謝分享

Links booklink

Contact Us: admin [ a t ] ucptt.com