台灣股票即時爬蟲。Taiwan Stock Exchange Real Time Crawler
這是一個會爬台股即時資訊的爬蟲,此外也分析了台灣證券交易所的 API。
有問題的話可以到 Gitter.im 發問,會盡快回答
pip install requests
python crawl.py
可以爬當下 50 隻當沖股票的即刻資訊。
若要改抓取的清單,可以把 stocknumber.csv
中的股票編號換掉就好了。
雖然說官方文件說 5 秒會更新一次,但是爬蟲實際上戳,即便已經改成 3 秒戳一次了,每天總會漏掉一些交易,所以價量圖並不完善,約只能涵蓋 99%
的資料。
python genTodayVolumeFigure.py
可以產生今天的價量圖,ex:
9914
250.00: 39
250.50: 123
251.00: 8
251.50: 58
252.00: 122
252.50: 87
253.00: 198
253.50: 91
254.00: 38
254.50: 103
255.00: 29
255.50: 9
256.00: 1
(99.77974%)
每天跑完後,可以執行 python cleanTodayDuplicateData.py
刪除重複抓到的資料和依照時間排序。
每天收盤後我抓完會 push 到 github 上,如果需要的話可以 git pull
我,當然如果你也有自己抓的話,每天也可以自己更新囉。
因為機器空間不足,所以過去的資料放到 Mega 上:
python genCrontabScript.py
可以產生每五秒戳一次的 crontab。
每天的資料會存在 data
中,當天的日期資料夾內(ex. 20150303
),裡面把所有抓的資料按股票編號放 XXXX.csv
中,XXXX
就是股票編號。
檔案內每一行為一個抓取一次下即刻的資訊,分別是:
時間, 最近成交價, 當盤成交量, 累積成交量, 最佳五檔(賣價), 最佳五檔(賣量), 最佳五檔(買價), 最佳五檔(買量)
ex. 13:30:00,43.25,616,6690,43.25_43.30_43.35_43.40_43.45_,216_285_90_274_201_,43.20_43.15_43.10_43.05_43.00_,3_1_23_91_424_
getCurrentList.py
的檔案名稱python getCurrentList.py
得到 stocknumber.csv
經過解析 基本市況報導網站 下所執行的 Javascript 檔(可以參考 /ctrl-reference
),整理出了 twse 的 API 清單如下:
其中 getStockInfo
可以用來抓取當前的交易資訊,用法如下:
http://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=STOCK_NUMBER&_=CURRENT_TIME
參數設置:
tse_1101.tw_20150624
,也可以用 |
一次 query 很多筆股票資料。ex. tse_1101.tw_20150624|tse_1102.tw_20150624|tse_1103.tw_20150624
分析 response 的 JSON 可以得到:
其主要資訊都在 msgArray
中,分為以下幾類:
1101
1101.tw
tse
台泥
台灣水泥股份有限公司
42.85
1600
11608
42.85_42.90_42.95_43.00_43.05_
83_158_277_571_233_
42.80_42.75_42.70_42.65_42.60_
10_28_10_2_184_
1424755800000
13:30:00
0
20150224
42.90
42.35
42.40
45.10
39.20
42.15
01
12
0
1101.tw_tse_20150224_B_9999310874
1101.tw_tse_20150224_B_9999293545
以上資訊由於找不到官方 API,為分析所得,可能有誤。
本人旨在為廣大投資人提供正確可靠之資訊及最好之服務,作為投資研究的參考依據,若因任何資料之不正確或疏漏所衍生之損害或損失,本人將不負法律責任。是否經由本網站使用下載或取得任何資料,應由您自行考量且自負風險,因任何資料之下載而導致您電腦系統之任何損壞或資料流失,您應負完全責任。
有 Bug 麻煩跟我說:
最後更新時間:2017/02/15