請問抓yahoo網頁的股價速度問題

因為盤中有立即知道股價的需求
所以抓yahoo的



這是我目前的程式碼

為什麼只是抓一個yahoo的股價
速度要花30幾秒...求解





Private Sub CommandButton1_Click()


Rows("6:1052").Select
Selection.Delete Shift:=xlUp
Dim tm
tm = Timer

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://tw.stock.yahoo.com/q/q?s=2317", Destination:=Range("$A$8"))
.Name = "q?s=2317"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "7"
.Refresh BackgroundQuery:=False

End With
MsgBox "讀取完成,費時:" & Timer - tm & "秒"
End Sub
2017-01-03 20:17 發佈
bioleon69 wrote:
為什麼只是抓一個yahoo的股價
速度要花30幾秒...求解...(恕刪)


請參考我以前寫的,抓3/21那個版本
http://www.mobile01.com/topicdetail.php?f=511&t=4737630&p=1
(3/27那個不要用,那只是想試看看script方法,亂寫的,問題超~級~多~)
剛剛重測速度(2017/01/03 21:00),100筆約15秒,一筆,大約0.03~0.25秒

以前在盤中測100筆,速度也是大約15秒…
現在不確定…收盤了,沒辦法測

至於以下這一篇,是以前回答如何讓程式每10秒跑一次,您也可以參考看看
http://www.mobile01.com/topicdetail.php?f=511&t=4716767&p=1

p.s 我用您的程式碼(2017/1/3 21:00)測…1筆,約0.8~1.5秒,還算正常,沒有30秒那麼誇張
也許是盤中yahoo針對ip限速=>不過不太可能,又不是抓上萬筆
說不定是您電腦、網路有問題,或改到什麼設定了………

您以前熱心分享給大家的存股損益表,不就很好用了嗎??
(雖然我沒加入,我有寫自己專用的版本)
snare wrote:
請參考我以前寫的,抓...(恕刪)



感謝回復!

哈!被發現

希望以後能多多請教你


EXCEL方面我真的很蔡

損益表其實也是基本堪用的而已~~想再修改



至於程式碼部分



我確實是30多秒,不誇張!!



怪怪的!請問一下你的作業系統以及EXCEL版本?

(已下載3/21的研究)
bioleon69 wrote:
怪怪的!請問一下你的作業系統以及EXCEL版本?

(已下載3/21的研究)...(恕刪)


windows7 + excel 2007

3/21 那個如果要用鉅亨測試,請重新下載(yahoo的沒問題)
有幾個測試用的股票代碼打錯,股票不存在,程式會出錯
重新上傳好了,不過只有刪掉錯誤的股票代碼
鉅亨的只是無聊順便寫的,懶得改程式碼了

snare wrote:
windows7 +...(恕刪)



我用yahoo的

剛剛測試 股價打錯 就只是空白而已 完全沒有出錯

而且速度非常快!
bioleon69 wrote:
我確實是30多秒,不誇張!!...(恕刪)


剛剛用您的程式碼再重測一次,變11秒一筆,昨天同樣環境下才0.8~1.5秒
多測幾次之後又恢復到0.8~1.5秒
程式碼沒錯,我想應該是 QueryTables 這種查詢方式本身的問題

google 找到的範例也幾乎都是 QueryTables 這種方式
我想大概是因為比較容易照抄、改寫,所google到的都是這種
以前我只有簡單測一下,速度不理想就棄用了
詳細原因不明,沒深入研究

所以才生出使用 msxml2.xmlhttp 這個幾乎沒人用的方式來抓資料
我自認為這種方式比較快,而自己的即時損益表也有用到
反正只是小品程式,就順便寫個範例出來分享

內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?