jackaitw
發表於 18-3-13 10:49
謝謝nes大,那我也來改用你的程式下載。
ram
發表於 18-3-13 12:42
jackaitw 發表於 18-3-13 10:49
謝謝nes大,那我也來改用你的程式下載。
請教jack大,程式在哪阿,翻了好久都沒看到阿{:4_186:}
ram
發表於 18-3-13 15:21
jackaitw 發表於 18-3-9 19:12
nes大我是用ocelot.exe下載的,這隻程式是底下這篇文章提供的,但是現在這篇文章卻上不去了所以不知道這 ...
錯誤訊息好像證交所的部分不是期交所的
我證交所以前放書籤的連結都會出現以下訊息
您好:
本公司全球資訊網已於106年5月23日改版,您目前瀏覽使用的網址並不正確,建議您自首頁(www_twse_com_tw)重新瀏覽,並更新瀏覽器「我的最愛」或「書籤」設定。
如須進一步協助請參閱本公司官網改版問答集(www_twse_com_tw/downloads/zh/home/TWSE_QA.pdf),或洽投資人服務中心專線:(02)2792-8188
錯誤代碼為:N/A
事件代碼為:62855323337778151
TWSE revised the official website on 23rd May, 2017. The URL address you were trying to reach seem to be incorrect or outdated. Please update your browser bookmark(s), thank you.
TWSE official website: www_twse_com_tw
Page Error Code:N/A
Event ID:62855323337778151
jackaitw
發表於 18-3-14 17:16
ram 發表於 18-3-13 12:42
請教jack大,程式在哪阿,翻了好久都沒看到阿
ram大,我看錯了,我下載TickData.part01.rar,TickData.part02.rar,TickData.part03.rar,回來解壓縮之後才發現這不是下載程式。
{:4_186:}
nes
發表於 18-3-26 10:04
本帖最後由 nes 於 18-3-26 10:10 編輯
jackaitw 發表於 18-3-14 17:16
ram大,我看錯了,我下載TickData.part01.rar,TickData.part02.rar,TickData.part03.rar,回來解壓縮之 ...
上來看到有這樣的需求... 也是醉了~
應用期交所的資料大概分成三個步驟
1. 下載 ... 網路上有很多下載的工具可以使用
2. 解壓縮 ... 網路上有很多解壓縮的工具可以使用
3. 轉資料 ... 這邊才是大家要依自己的需求來作處理的是吧!
既然提到下載,就上傳一個網路上找的小工具
這個HttpDL-TFE.exe執行檔
直接執行的話就是下載當天日期檔名的Tick檔
例如今天2018-03-26
就是下載 期交所網站的 /DailyDownload/DailyDownloadCSV/Daily_2018_03_26.zip
存在本地執行環境下的檔名就是 Daily_2018_03_26.zip
程式有三個隱藏參數可以用
/out 可以改變存檔名稱
例如執行時加參數
HttpDL-TFE /out csv.zip
這樣前面的的執行結果就變成本地存檔的檔名是 csv.zip
/url 可以改變下載的網址
例如執行時加參數
HttpDL-TFE /out csv.zip /url /DailyDownload/DailyDownloadCSV/Daily_2018_03_22.zip
就變成是下載2018-03-22的Tick檔存檔於本地為檔名 csv.zip
/host 則是可以改變網站的HOST
例如執行時加參數
HttpDL-TFE /host 61.222.218.201
這樣執行結果會跟沒下參數是一樣的...
因為 www.taifex.com.tw 的IP就是61.222.218.201
程式有下載到資料執行結果是1,否則是0
所以寫批次檔可以這樣寫
run1.bat內容
HttpDL-TFE /host 127.0.0.1
if ERRORLEVEL 1 echo "success"這樣就會發現 "success" 不會echo出來
因為改連127.0.0.1下載不到資料
反之如果
run2.bat內容為
HttpDL-TFE /out MyCsv.zip
if ERRORLEVEL 1 echo "success"執行就會出現echo "success" 的結果
這個程式的缺點就是只能下載HTTP,如果變成HTTPS就不能用了!
另一個限制是只能下載檔案大小於8MB以內的
但是程式很小,不需要任何額外的資源就能執行
而因為能改變HOST和URL
所以除了期交所也可用於下載其他地方的檔案
jackaitw
發表於 18-3-28 15:32
nes 發表於 18-3-26 10:04
上來看到有這樣的需求... 也是醉了~
應用期交所的資料大概分成三個步驟
1. 下載 ... 網路上有很多下載的工 ...
感謝nes大,呵呵,想不到有此意外收穫,太棒了。
ram
發表於 18-3-28 23:59
nes 發表於 18-3-26 10:04
上來看到有這樣的需求... 也是醉了~
應用期交所的資料大概分成三個步驟
1. 下載 ... 網路上有很多下載的工 ...
小巧又實用而且容易搭配 讚!讚!讚!
但是拿去下載SGX的資料時發現不行
後來才注意到原來是有限制8MB
SGX的WEBPXTICK_DT-20180327.zip檔案基本是都是超過10多MB以上
相比國內資料真的是好小阿{:4_169:}
nes
發表於 18-4-3 11:09
ram 發表於 18-3-28 23:59
小巧又實用而且容易搭配 讚!讚!讚!
但是拿去下載SGX的資料時發現不行
後來才注意到原來是有限制8MB
不是喔!SGX另外有下載程式
跟TFE一樣有/out /url /host參數可以下
不過SGX跟TFE實際用法可能不一樣
可以看
zip檔的連結有一個F參數像下面20180402的資料則是F=4079
Apps?A=COW_Tickdownload_Content&B=TimeSalesData&F=4079&G=WEBPXTICK_DT-20180402.zip所以自己要弄/url的話麻煩在F=多少的問題
不過這支SGX下載的程式可以直接執行
就會下載前面頁面中列表裡最新的一個料檔
然後他有 /key 和 /date 參數可以用
/key是用來指定剛剛的F參數
/date則是用來指定要下載的資料檔日期
例如知道20180321的key是4070就能這樣下
HttpDL-SGX /out MyCsv.zip /key 4070 /date 20180321所以網頁列表中沒看到的歷史資料,如果知道key就還是能下載到
圖中可以看到也是有資料小於10MB的喔!
SGX版跟TFE一樣,批次檔裏可以用ERRORLEVEL判斷是否有下載成功
所以我的用法是記憶一個key值
用當前的日期如果下載成功則key累加1...日復一日批次進行
反過來用,透過一組date與key陸續遞減
或許也真的可以把SGX有史以來4千多天交易日的所有歷史資料都下載回來...
但是台北對SGX的下載速度很慢,實在沒耐性作這種事
假如把SGX版的程式拿去下載烏魯木齊的資料
當下載超過32MB的資料檔失敗時就會出現提示
那麼就會發現原來還有一個/buf參數可以用
因此若有需要要下載更大的資料檔就可以用這個參數作調整了
例如前面SGX的下載如果加了參數 /buf 5 就會下載失敗了(資料9MB>設定5MB)
現在很多工具都很龐大,然後動不動就要搭NET,
不然就是較新的Win10上要跑常常就出現沒有MSVCxxx.dll的訊息不能跑,
雖然也有會出現訊息但是好像一樣可以正常運作的...(但這不是很莫名其妙嗎)
所以個人看到這種小巧的批次檔案工具程式總是特別喜愛收藏
ram
發表於 18-4-6 10:31
nes 發表於 18-4-3 11:09
不是喔!SGX另外有下載程式
跟TFE一樣有/out /url /host參數可以下
感覺下載雖然慢,但是用瀏覽器下載也是慢
瀏覽器下載還常常會直接因為太慢而斷掉失敗
反而用程式很穩,可惜無法知道下載進度
不過放批次的話應該不不會在意下載進度
ndc24075
發表於 18-4-22 22:54
想不到api的差異會這麼大...
ram
發表於 18-5-1 18:22
nes 發表於 18-4-3 11:09
不是喔!SGX另外有下載程式
跟TFE一樣有/out /url /host參數可以下
SGX的下載程式有個問題
我在往前推key下載舊的檔案過程中發現
如果檔案不存在還是會下載到檔案,只是檔案很小,不到2KB
仔細查看下載到的內容實際上是HTML
這樣想在批次檔中用ERRORLEVEL判斷下載結果的話就行不通
想請教一下nes大是怎麼處理的{:4_144:}
ram
發表於 18-5-20 13:13
ram 發表於 18-5-1 18:22
SGX的下載程式有個問題
我在往前推key下載舊的檔案過程中發現
小弟不才,用DevC++寫了個小小程式解決了SGX下載到HTML的問題
程式碼和執行檔
也就是寫了一個main.exe去呼叫HttpDL-SGX.exe
如果下載檔案的長度過小就當作失敗
例如
main 4113 20180517
就會下載失敗==> ERRORLEVEL 0
main 4112 20180517
就會下載成功==> ERRORLEVEL 1
跟剛看過的元大SmartAPI好像是異曲同工之妙阿!
也就是只要會寫exe,那麼R和Pyson就能調用阿
套一句元大手冊的說法
『事實上不止R、Python可以調用,任何具備呼叫外部指令的程式語言均可使用,是一個通用的框架。
』
說實話,快笑翻了我
而且元大原本API的問題沒解決的話,SmartAPI仍然會有一樣的問題會發生,
好處則是如果有合適的方法可以解決問題,那麼可於寫exe程式時把方法套進去弄好成符合期待