返回列表 上一主題 發帖

[發問] 可否用迴圈或變數匯入大量資料?

[發問] 可否用迴圈或變數匯入大量資料?

請問一下各位先進,這是我從某網站匯入EXCEL的程式碼,不知道能不能使用迴圈或變數的方式取其他個股相同的財報?
也就是程式碼中的2330可以用迴圈或變數來變更嗎?懇請各位VBA高手指點,謝謝!
https://www.cathayholdings.com/securities/exclude_AL/market.aspx?btn=1-00-00&st=2330
  1. Sub 抓季損益表資料()
  2.     With ActiveSheet.QueryTables.Add(Connection:= _
  3.         "URL;https://djinfo.cathaysec.com.tw/Z/ZC/ZCQ/ZCQ.DJHTM?A=2330", Destination _
  4.         :=Range("$A$1"))
  5.         .Name = "ZCQ.DJHTM?A=2330"
  6.         .FieldNames = True
  7.         .RowNumbers = False
  8.         .FillAdjacentFormulas = False
  9.         .PreserveFormatting = True
  10.         .RefreshOnFileOpen = False
  11.         .BackgroundQuery = True
  12.         .RefreshStyle = xlInsertDeleteCells
  13.         .SavePassword = False
  14.         .SaveData = True
  15.         .AdjustColumnWidth = True
  16.         .RefreshPeriod = 0
  17.         .WebSelectionType = xlSpecifiedTables
  18.         .WebFormatting = xlWebFormattingNone
  19.         .WebTables = "3"
  20.         .WebPreFormattedTextToColumns = True
  21.         .WebConsecutiveDelimitersAsOne = True
  22.         .WebSingleBlockTextImport = False
  23.         .WebDisableDateRecognition = False
  24.         .WebDisableRedirections = False
  25.         .Refresh BackgroundQuery:=False
  26.     End With
  27. Sub End
複製代碼

回復 94# smart3135

不是不行而是你沒有認真想

這是只其中一種等待的方法

for i=XXX to XXX
Application.Wait Now + TimeValue("00:00:03")

next

TOP

回復 93# smart3135
測試了一下,用新網頁去抓資料還是有流量限制,一樣到約25檔就抓不了了
語法中也未加入IE.Application,沒辦法做 IE.Quit,所以看來這個VBA還是沒辦法破解流量限制

TOP

回復 87# GBKEE
版主,再請教一下,我有重新寫了一個VBA,和原來抓的方式不一樣,是用HTML網址下去抓
可以直接帶入變數股票號碼直接抓,問題是抓下來的日期格式在寫入文字檔時,就會自己轉換成2018/X/X
有我試著在寫進文字檔前將儲存格格式變更成文字,但卻會顯示成另一個數字(圖片綠框處)
不知道該怎麼寫才能讓日期顯示在excel的結果和網頁一樣,並且設定成文字格式,寫進文字檔時才不會又轉換成日期格式
再請您指導一下,謝謝。

上市年成交資訊-新網頁.zip (31.88 KB)

TOP

本帖最後由 smart3135 於 2018-2-12 22:57 編輯

回復 91# joey0415
不好意思 請問要怎麼設定三秒抓一次 不是很懂這個語法
我目前是暫時把IE.Applictation放在迴圈中,等抓完一檔後再跳下一檔前再將IE.Quit
鎖IP的情形有大幅改善,偶有發生,但仍比原來最多只抓25檔好很多了
上市年成交資訊-破解流量限制版本.zip (26.55 KB)

TOP

回復 90# smart3135

速度只能每三秒抓一次就不會鎖ip

慢一點當然更好

目前我也是這樣試出來的

TOP

回復 89# smart3135
感謝版主回覆,找了一下,找不到相關的網頁,目前可以使用的方式就是用一樣的程式每次資料只能抓25筆左右
當無法抓的時候就將數據機關掉重開,等網路連線就可以再抓25筆,900多筆資料要慢慢抓,哈

TOP

[版主管理留言]
  • GBKEE(2018/2/12 17:12): 證交所改版後,用程式大量下載資料有 IP 的管制, 請另找相同性質網頁看看

回復 87# GBKEE
版主您好,又來請教您了,半年前證交所改版後有請您幫忙,後來確實可以抓資料了
但今年測試,下載沒幾個就會卡住,我再去開證交所網頁就會開不起來
有請朋友幫忙測試,他們的電腦是可以開的,這是不是表示因為我在抓大量資料
所以會有流量或頻寬的限制?連結中的文章似乎也是說明如此
不知道程式碼還有沒有能修正的地方讓它可以正常抓資料,謝謝
https://www.wearn.com/bbs/t911387.html
上市年成交資訊.zip (26.12 KB)
上市月成交資訊.zip (40.75 KB)

TOP

回復 87# GBKEE
感謝版主阿,真的太實用了,我還有自己修改一些內容符合我想要的格式
另外上市年成交資訊是依您前一篇回覆的內容我也稍作修改,一樣可以正常抓資料了
真是受教了:handshake

TOP

回復 86# smart3135

證交所網頁有流量管制.附檔有重新修改一些地方.

上市月成交資訊.rar (52.87 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題