返回列表 上一主題 發帖

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

回復  white5168


    沒錯呀!測試結果如同你寫的
當網頁開啟有問題時,及遠端證交所伺服器過忙碌時,將 ...
HSIEN6001 發表於 2012-8-4 22:34


如果交易"0"頁的話,在長度上依然可以取得頁數,就是0頁,只有在不存在的股票代碼上才沒有物件的長度,如此才會不斷的Retry
基本上這是抓頁數,可以抓到的話一次就可以抓到,而會像你說的發生塞車的話,這比較像使用暴力法一頁一頁的抓交易明細才有機會發生
如果你覺得Retry次數太多,那就自行修改,我經過壓力測試也沒你說的issue我的作法是確保資料完完整整的抓下來,如果你堅持覺得有不妥
可自行選用版主的作法,我這樣樣Retry的作法暫時不會動,現在只會去做優化的動作,如果你真的有試到容易複製的issue,那也請完完整整的漿過程全部PO文上來
包含,做了什麼動作,流程,股票代碼,在什麼樣的環境,什麼樣的交易日的時間點等,以上這些都很重要

TOP

回復 32# white5168

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

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

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

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

TOP

回復 32# white5168

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

TOP

回復  white5168

不是喔!
版大先前有強調,VBA寫法,太慢--->大家堵在那之類的
會影響大家抓資料---->充 ...
HSIEN6001 發表於 2012-8-4 23:37



  我並未違背我的理念,既然你都說有盲點,那你怎嚜無法將你遇到的狀況充分且具體的交待清楚呢?

TOP

小姐

我明明就有更新股票代碼的功能,程式中也明白是針對CFICode名為"ESVUFR"的 795檔股票來做交易明細下載(程式碼真的要看清楚,不要老是看一半),我相信我的程式功能裡並沒有提到股票代碼可以自行變更吧?我只說能供股票編號ID與交易日期做變更,如果你有做權證的,那你可以自行在做修改,為了一個沒有做的功能來質疑別人,不是很奇怪嗎?你要問問題前,請問你是否有清楚瞭解程式的功能與真的能做到的範圍?
我相信我並未違背我的理念,只是你拿一未實現的功能來爭執討論,會不會太牛頭不對馬尾

TOP

哇 突然多好多討論
我個人處理這問題的方式是利用for...next 這樣可以指定次數
避免陷入長久的迴圈
同時寫另外一個小程式於事後針對資料為空的部分重新下載確認
另外有個問題是
我從證交所抓取的所有股票代碼
有些是沒有交易明細的
也就是股票存在卻無資料
僅供大家參考~

TOP

本帖最後由 GBKEE 於 2012-8-5 07:20 編輯

回復 31# HSIEN6001
丟個沒有交易買賣的代號給它,就刷不停了,例如冷門的股票,它的交易量有可能是 " 0 ",就會出現無交易資料,當然就取不到  "頁數"


執行 7#   Sub 查詢股票日報表()    '查詢單一股票  立即可知有無交易量

7#  --- 57行  是處裡交易量是 " 0 "
54行    Private Sub 匯入日報表(股票代號 As String)      '處裡傳送來的 --股票代號--
55行    Dim Xall As Integer, SubMsg As String, SubRng As Range
56行    Xall = Val(報表頁數(股票代號))              '傳回報表頁數
57行    If Xall = 0 Then                                       '無報表頁數: 報表不存在
58行
        If Rng Is Nothing Then
--------------------------------
18# 修正的 Private Function 報表頁數(Sstock_N0 As String) 函數程式碼
可處理 :  white5168 說的如果IE沒有開完整,將會導致無法取得對應的物件
當 報表頁數 = element.Item(0).innertext  有錯誤時才會重新開啟 IE,
IE 正常時 element.Item(0).innertext=""   為無報表頁數   不嘿有錯誤產生

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

本帖最後由 white5168 於 2012-8-5 09:29 編輯
早呀!大家~^__^~

回復  white5168
目前該Excel VBA 交易明細.xls 為V1.0.0.1 T01
其功能如下
1.開啟 ...
HSIEN6001 發表於 2012-8-5 08:38



我並非聽不進別人的諫言,但自己是否有聽進別人說(一個不存在的流程經你的實驗後所產生問題),而你打從一開始就在拿一個不存在的功能來爭執,你說的0050之類的股票再我這裡的作法的確是無法動作,但你又曾幾何時仔細認真讀過code能做到的功能,去了解為什麼會造成Dead Loop(你自己強調要學code,不願花功夫去了解),我強調明明打從一開始就說的很清楚是股票代碼ID可以自行變更,沒說股票代碼可以變更,如果真是股票代碼我又何必加上ID字眼去強調它的不同呢?況且我功能的第5點也說明 了股票代號與股票ID的不同用法,清楚的也交代了,"當Retry 5次無法下載市股票ID的總頁數網頁時,會記錄該日期與股票以供參考",紛明就是你認知上的不同與理解不清,為何不一開始就問兩者的差異呢?
我是有說可以提供問題,但不是叫你拿一個不存在的流程經你的實驗後所產生問題來我質疑我來跟我吵,這樣不是在反映問題,如果你認為要提出諫言過程是要以爭執才是你表達意見的方式,那我只能說你的表達方式真的很.........另類
請問你的表達難道無法以"你發現了在什麼流程下,經什麼實驗流程後,會產生什麼的數據結果"這樣的說法也比較不像是在爭執,我也會很有意願的來跟你討論修改,而非像你現在這樣吵,覺得是自己在"股票代碼"與"股票代碼ID"的認知不同而不法下台
還有想請問如果你認為我的不好用為何一直拿來做文章呢?這不是很矛盾?

TOP

本帖最後由 GBKEE 於 2012-8-5 09:39 編輯

敬告各位 會員
希望各位在回文時 字句的修飾是必須的,要考慮到對方有不舒服的感受,請不要製造出互相攻擊的氛圍
在這論壇上 我真的是有感受到〔教學相長〕效應的存在

回復 39# HSIEN6001
1#   附檔有說明 :  "現在附上使用python與Excel VBA執行完成的圖案,python執行的時間2603秒,Excel VBA執行時間7598秒(未優化前),兩者相差約2.9倍"
上述的差異 39#中一段:  "Do ....Loop 會造成塞車問題。 我只是想#22樓你寫的那段;剛好與你的迴路設計是背離的"   這裡道出產生"速率的差異"

所以我 7#  的程式修正不必要的迴圈,  消除2.9倍的速率,但還是有缺點  經 white5168   指點  在18# 修改了  在這裡我就有收到 〔教學相長〕效應
你可再測試 7#  的程式看看  python執行的時間2603秒,Excel VBA執行時間7598秒 還有2.9倍的速率的差異嗎? ,
可說明 塞車問題 是否是正確的

PS: 7#的程式碼已更新同 18#  

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題