VBA:Web抓取和在Excel电子表格中显示结果

VBA:Web抓取和在Excel电子表格中显示结果,excel,vba,web-scraping,Excel,Vba,Web Scraping,我有一个VBA代码,可以成功地在Zillow上搜索房子,但是我试图提取网站中显示状态的部分(class=“status”),并在excel电子表格上显示结果 Sub getHTMLdocument() Dim IE As New SHDocVw.InternetExplorer Dim HTMLDoc As MSHTML.HTMLDocument Dim HTMLInput As MSHTML.IHTMLElement Dim HTMLButtons As MSHTML.IHTMLElemen

我有一个VBA代码,可以成功地在Zillow上搜索房子,但是我试图提取网站中显示状态的部分(class=“status”),并在excel电子表格上显示结果

Sub getHTMLdocument()

Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim HTMLButton As MSHTML.IHTMLElement
Dim stat As MSHTML.IHTMLElement

IE.Visible = True
IE.navigate "zillow.com/homes"

Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop

Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("citystatezip")
HTMLInput.Value = "21371 Estepa Circle Huntington Beach"

Set HTMLButtons = HTMLDoc.getElementsByTagName("button")
HTMLButtons(0).Click

Set stat = HTMLDoc.getElementById("yui_3_18_1_1_1548832597156_4287")
    Debug.Print stat.getAttribute("href")

End Sub
子getHTMLdocument()
Dim IE作为新的SHDocVw.InternetExplorer
将HTMLDoc设置为MSHTML.HTMLDocument
将HTMLInput设置为MSHTML.IHTMLElement
将HTMLButtons设置为MSHTML.IHTMLElementCollection
将HTMLButton设置为MSHTML.IHTMLElement
Dim stat为MSHTML.IHTMLElement
可见=真实
IE.navigate“zillow.com/homes”
在IE.ReadyState ReadyState\u完成时执行此操作
环
设置HTMLDoc=IE.Document
设置HTMLInput=HTMLDoc.getElementById(“citystatezip”)
HTMLInput.Value=“21371埃斯特帕圆形亨廷顿海滩”
设置HTMLButtons=HTMLDoc.getElementsByTagName(“按钮”)
HTMLButtons(0)。单击
Set stat=HTMLDoc.getElementById(“yui_3_18_1_1_1548832597156_4287”)
Debug.Print stat.getAttribute(“href”)
端接头
最后,我还希望VBA从电子表格中提取数据,并在按下按钮时自动加载每个数据

例:

111主st[为111加载Zillow的按钮]

211主st[为211加载Zillow的按钮]

311主st[为311加载Zillow的按钮]


但是,如果我至少能让它在excel上显示class=“status”部分,我将非常感激。您可以使用css类选择器

HTMDoc.querySelector(".status").innerText

请参阅循环URL的示例。

这是否回答了您的问题?