前言
去年用Ruby寫的程式,主要是爬以下三個網頁:
你一定會問都有網頁查詢了,你還爬個屁阿!主要是他提供的資料都是以月份為最單位,若你要抓X年的資料你就要點12*X次,你若要抓Y檔股票,那你總共要點12*X*Y次,所以在父親大人的督促之下,就寫了這三隻爬蟲給他用,修改程式裡頭的時間範圍跟代號,就會去網頁爬一輪回來產生一隻CSV檔案(可用excel開啟)給使用者。
產生檔案範例可參考:
安裝及使用方法
- 安裝Ruby。
- 到命令提示字元,執行以下指令:gem install mechanize,這是為了安裝一個用Ruby寫的函式庫。
- 下載檔案,解壓縮到到任意路徑。
- 直接編輯程式碼最下面的參數,儲存後點兩下執行即可。
修改查詢參數
可執行且需要使用者重新編輯的檔案,根據網頁連結命名分別為:
- otc_daily_trading_info.rb
- twse_mi5_mins_hist.rb
- twse_stock_day.rb
需要重新編輯的程式碼大概都長得像這樣:
後話
東西寫出來沒再用也是浪費,好一陣子沒用RUBY了,遇到問題請自己上網查或買書看,不要輸給我五十幾歲的老爸。
4 則回應:
感謝!!!!
寫出這種東西
真是功德無量
前陣子才決定開始研究Ruby
至今仍一事無成的小弟
真是........
資料庫是即時更新嗎?
@城市行走者
術業有專攻 :-)
@jain
資料庫不是我維護的
是證交所維護的
您好,
找了許多下載大盤指數的網頁,
看到您的rb程式,把ruby裝了起來,
先試跑看看,
otc_daily_trading_info.rb OK
會在 report 資料夾下產生
csv檔,
但
twse_mi5_mins_hist.rb
twse_stock_day.rb
這兩個程式似乎沒反應,
是證交所的網頁程式檔名修改了嗎?
我有找到可捉到每日行表的語法,並可直接存檔excel csv 檔,
但加權指數歷史資料可以嗎? 感恩囉!
每日行表的語法:
http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX3_print.php?genpage=genpage/Report201006/A11220100611ALL_1.php&type=csv
我亂試,好像找不到正確的方法:
http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST.php?myear=98&mmon=05&save=csv
stiven 留