返回列表 上一主題 發帖

證交所全部上市股票交易明細下載

回復 22# white5168


    猴。。。。。突然意會過來,先前這樣測試
W大這支,光在這裡http://bsr.twse.com.tw/bshtm/bsMenu.aspx?
取不到頁數的時候,要刷個好幾次畫面 (網頁開啟完成與否?)

光是這樣刷的方式,賭死的機率更高
會造成塞車!!!!尖峰時段更會堵住

TOP

回復 30# white5168


    沒錯呀!測試結果如同你寫的
當網頁開啟有問題時,及遠端證交所伺服器過忙碌時,將會進行Retry直到取得資料
你丟個沒有交易買賣的代號給它,就刷不停了
例如冷門的股票,它的交易量有可能是 " 0 "
就會出現無交易資料,當然就取不到  "頁數"
你說自己程式要刷幾次,你當然比我清楚

我測試時,光看它不斷同一個代號key in 代碼  --->就傻眼了
畫面不斷刷個好幾次,才會跳出回圈  (Do...Loop 也不少)
多刷N次,也代表卡在那裡

塞車原理就是  "我塞住,大家也塞住!"

試試改postdata好一點!
大師!!

TOP

回復 32# white5168

不是喔!
版大先前有強調,VBA寫法,太慢--->大家堵在那之類的
會影響大家抓資料---->充分發揮了公德心

而我只是多看多學,增加自己對VBA的學習而已
剛好測試到抓頁數那部份,W大也是有設計上的盲點
剛好違背了你先前的理念

我只是提醒及建議!沒強迫你改
我並沒有依賴你寫的----->(學習者的心態)

W大的功力甚強
我當然是秉持學習的心態
只要有人願意分享;都是參考及學習
沒有一定誰好誰壞
別誤會!

TOP

回復 32# white5168

忘了附上你所謂的   (不存在股票)
測試過程

TOP

早呀!大家~^__^~

回復 36# white5168
目前該Excel VBA 交易明細.xls 為V1.0.0.1 T01
其功能如下
1.開啟時會自動將當天的日期設定,並將欲取得的上市股票ID編號重頭開始(這裡是2)
2.下載儲存交易明細日期與上市股票ID編號,可自行設定

重點:
1、其實我並沒有要逞口舌之快;苦口婆心的成分居多。 只希望W大能夠避免〔一言堂〕,聽不進別人的建言;卻老愛刮別人鬍子。 *〔教學相長〕<---還是那句,再次送你,雖然我最沒資格說這句。
2、各大高手都有自己的邏輯,程式迴路--->一山還有一山高。 <----自己外行,所以我該靜靜學習。(這點!我在這裡真的很 [多嘴] ,所以先跟各位看倌說對不起!)
3、版上不是競技場,我是來學習 及 尋求 [好心的大大們] 可以適時的拯救我。
4、我看見麻辣家族的用心經營;所以很感恩這個學習空間。
各位抓資料的時候可能是在尖峰時段,就是大家一起抓資料,會導致遠端伺服器的服務資源大家搶
PS:看的懂得,都應該懂你的Do ....Loop 會造成塞車問題。 我只是想#22樓你寫的那段;剛好與你的迴路設計是背離的! ---->提醒而已!別生氣。

******** 真的別生氣,Please!!!         因為怕大大生氣,所以自己很小心翼翼的。 原諒我吧!--->不然我會哭喔!  ********

回復 37# lalalada
嗯嗯!你的建議及提點,收到囉!我會放進思考裡Try看看
我目前做法是下載回來,再用巨集判讀無資料的刪掉就好。---->避免過長時間掛載,增加危險性。(大略看過這樣的分析〕

回復 38# GBKEE
 GBKEE 大,有您真好!
感謝你們這些熱心且真正樂意協助的大大們!
時常協助我們解決困擾

跟版上各位大大們繼續學習,有勞你們了。

TOP

回復 41# GBKEE
  1. '取得頁數 ; 避開只為 [頁數] 取得而拼命刷該網頁;造成塞龜 http://bsr.twse.com.tw/bshtm/bsMenu.aspx?
  2.     strURL = "http://bsr.twse.com.tw/bshtm/bsMenu.aspx?" & _
  3.     "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTczNDk4NzY0Mg9kFgICAQ9kFgwCBQ8WAh4JaW5uZXJodG1sBQoyMDEyLzA4LzAxZAIGDxYCHwAFCDIwMTIwODAxZAIIDw8WBh4JRm9udF9Cb2xkZx4EXyFTQgKEEB4JRm9yZUNvbG9yCj1kZAIKD2QWAgIBDw9kFgIeB09uQ2xpY2sFHGphdmFzY3JpcHQ6YnV0Q2xlYXJfQ2xpY2soKTtkAgwPDxYGHwFoHwIChBAfAwpHZGQCDg8PFgIeB1Zpc2libGVoZGRktxLZGMAybpsQ2UGpZGNtbwAAAAA%3D&__EVENTVALIDATION=%2FwEWCALzjPG5CALjpuXcAwKN4Ij0CwLB5ZfoCQLjk6TKBwKY8en5CwLdkpmPAQL6n7vzC9kuc7umJfLwqKqibgdx3poAAAAA&HiddenField_spDate=&HiddenField_page=PAGE_BS&txtTASKNO=" & fileIdx & "&hidTASKNO=&btnOK=%E6%9F%A5%E8%A9%A2"
  4.         With xml
  5.             .Open "GET", strURL, 0
  6.             .send
  7.             Do While xml.readyState <> 4
  8.             Loop
  9.             x = Split(Split(.responseText, "sp_ListCount"">")(1), "</span></b>")(0)
  10.         End With
  11. '將頁數丟給下載去處理
  12. '下載xls
  13.     With ActiveSheet.QueryTables.Add(Connection:= _
  14.         "URL;http://bsr.twse.com.tw/bshtm/bsContent.aspx?StartNumber=" & fileIdx & "&FocusIndex=All_" & x _
  15.         , Destination:=Range("A1"))             '放置位置< ----->可變
  16.         .Name = "券商"
  17.         .BackgroundQuery = True                 '刷新返回查詢(執行更新)
  18.         .RefreshStyle = xlOverwriteCells        '= xlOverwriteCells '覆蓋原欄位  = xlInsertDeleteCells '插入新資料,原資料右移
  19.         .RefreshPeriod = 0                      '自動更新時間 以分為單位 5代表每5分鐘更新一次 0代表不自動更新
  20.         .WebSelectionType = xlSpecifiedTables   '指定類型= xlEntirePage 整頁        = xlSpecifiedTables 表格        = xlAllTables 所有表格
  21.         .WebFormatting = xlWebFormattingNone    '= xlWebFormattingNone 不保留連結及樣式    = xlWebFormattingRTF  保留連結及格式設定
  22.         .WebTables = "5,""table2"""             '指定取得之表格 與 .WebSelectionType = xlSpecifiedTables配合 = "1,2," 或 ="5,""table2""" 或 = """table1"",""table2"""
  23.         .WebDisableDateRecognition = False      '日期鑑別=False 禁用        =True 使用
  24.         .Refresh BackgroundQuery:=False         '刷新返回查詢(執行更新)
  25.     End With
複製代碼
我是真的佩服W大的功力,完全沒有攻訐意思。
我很菜,看過我先前的發問就知道我是菜鳥一個;時常勞煩各位幫忙解決〔很感恩〕。
只是[提醒]刷頁面問題,也是另一個塞車的困擾。 [這勉強可算 (教學相長) 的一部份]
至於寫;因為還再不斷 Try 於VBA 很陌生的生字。沒到可以獻醜的部份。

現在正在思考的問題是 , 因為處理xls存檔;也掛載相當久。所以改用htm下回來再一起處理。
相關學習思路也是在版上,有跡可循。

http://forum.twbts.com/thread-7336-1-1.html
http://forum.twbts.com/viewthrea ... p;extra=&page=2

寫程式沒有絕對的誰好誰不好
可以再不同的思路中;學到更多的可能性
這點真的很棒! --->相信很多版大都有這種 初衷
所以樂意在此幫助像我這樣的菜鳥

我目前還沒見過因為自己寫的爛
攻擊我的,都是適度給我其他更多的參考
這對於吸收不同的思維
提供了很好的輔助
不是嗎?!

在此!慎重聲明~~~不再回應W大的程式測試結果或提出問題
因為,我也怕受傷呀!

~~~正在哭!~~~

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題