【发布时间】:2018-05-30 21:46:00
【问题描述】:
我正在尝试抓取 Newegg 网站以获取产品价格。当我运行这段代码时,它就完成了这项工作。
Sub test()
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.Navigate "https://www.newegg.com/Product/Product.aspx?item=1TS-000E-083F2"
Do While objIE.ReadyState <> READYSTATE_COMPLETE
Loop
Debug.Print objIE.Document.getElementsByClassName("price-current")(0).Children(1).innerText
End Sub
但是,当我尝试使用 XML 来加快执行速度时,我遇到了 运行时错误 91:未设置对象变量或未设置块变量
下面是我正在尝试实现的一段代码。
Sub testxml()
Dim XMLPage As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
XMLPage.Open "GET", "https://www.newegg.com/Product/Product.aspx?item=1TS-000E-083F2", False
XMLPage.send
HTMLDoc.body.innerHTML = XMLPage.responseText
Debug.Print HTMLDoc.getElementsByClassName("price-current")(0).Children(1).innerText
End Sub
【问题讨论】:
标签: excel vba web-scraping