作者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://webptt.com/cn.aspx?n=bbs/R_Language/M.1500705634.A.F7B.html
1F:推 f496328mm: 推推 07/22 15:54
2F:推 f496328mm: Python会比较好抓资料吗?看过很多爬虫都是用Python 07/22 16:19
我对 R 的资料型态老是搞不清楚,所以比较喜欢使用 python XD
上面补上对应的 python 码
3F:推 TaiwanFight: 好抓程度一样 看你喜欢哪种语法 07/22 16:26
※ 编辑: bluecadence (104.155.222.243), 07/22/2017 16:54:00
4F:推 eegame: 赞叹(跪读 07/22 17:26
※ 编辑: bluecadence (104.155.222.243), 07/22/2017 19:08:06
5F:推 f496328mm: 感谢 改天来试试 大大有github吗? 想参考看看 07/22 21:37
6F:推 k5171: 感谢分享 07/23 12:39
7F:推 david31408: 大推 09/22 00:00