是否有可能使爬蟲在VBA中進行遞歸?我嘗試過使用一段代碼,但一旦找到代碼中虛線標記區域內的行,它將引發錯誤,顯示「參數數量錯誤或屬性賦值無效」。由於我不是VBA的專家,我不能這樣做,但我想可能有什麼方法可以應用。如何讓我的爬蟲做遞歸調用?
Sub NEWAPPS()
Dim http As New MSXML2.XMLHTTP60, html As New HTMLDocument
Dim Items As Object, Item As Object, Newitem As Object, elem As Object
Dim Z As String
With http
.Open "GET", "https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8", False
.send
html.body.innerHTML = .responseText
End With
Set Items = html.getElementsByClassName("left")
Set Newitem = html.getElementsByClassName("name")
For Each Item In Items
x = x + 1
If Item.getElementsByTagName("h1").Length Then _
Cells(x, 1) = Item.getElementsByTagName("h1")(0).innerText
If Item.getElementsByTagName("h2").Length Then _
Cells(x, 2) = Item.getElementsByTagName("h2")(0).innerText
Next Item
For Each elem In Newitem
Z = elem.href
'---------------------
NEWAPPS (Z)
'---------------------
Next elem
End Sub
因爲您沒有在您的sub中聲明Z作爲參數,所以您不能像這樣(帶參數)調用'NEWAPPS(Z)'。你的代碼似乎也有重複的輸出。你想要不同的輸出,並停止沒有更多獨特的輸出?或者你是否想從不同的網址中提取相同的輸出,比如* candy crush saga *,反覆播放? – Tehscript
感謝Tehscript的評論。當然,輸出必須是唯一的。我所做的和你已經指出的嚴重錯誤是,即使我已經能夠讓我的代碼運行,輸出將會一次又一次地被糖果粉碎,因爲主URL是硬編碼的。無論如何,這是一個粗略的草圖,雖然我不知道遞歸是否可能在vba – SIM