這是一個會爬台股即時資訊的爬蟲,此外也分析了台灣證券交易所的 API。
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 中,分為以下幾類:
11011101.twtse台泥台灣水泥股份有限公司42.8516001160842.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_142475580000013:30:0002015022442.9042.3542.4045.1039.2042.15011201101.tw_tse_20150224_B_99993108741101.tw_tse_20150224_B_9999293545以上資訊由於找不到官方 API,為分析所得,可能有誤。
本人旨在為廣大投資人提供正確可靠之資訊及最好之服務,作為投資研究的參考依據,若因任何資料之不正確或疏漏所衍生之損害或損失,本人將不負法律責任。是否經由本網站使用下載或取得任何資料,應由您自行考量且自負風險,因任何資料之下載而導致您電腦系統之任何損壞或資料流失,您應負完全責任。
有 Bug 麻煩跟我說:azx754@gmail.com
最後更新時間:2017/02/15
$ claude mcp add tsrtc \
-- python -m otcore.mcp_server <graph>