用vba刮google rhs结果

时间:2015-12-17 10:10:41

标签: excel vba excel-vba

我想使用VBA抓取google搜索结果右侧数据。我能够抓住结果但不是我需要的确切结果。下面是我用红色标记我需要刮的屏幕截图。

enter image description here

我在VBA中尝试使用以下代码,但始终存在运行时错误。如何解析每个部分并获取span标记内的值。

VBA:

Set html = CreateObject("htmlfile")
html.body.innerHTML = XMLHTTP.ResponseText
Set objResultDiv = html.getElementById("rhs_block")
Set objH3 = objResultDiv.getElementsByTagName("div")(7).getElementsByTagName("a")(2).getElementsByTagName("span")(0).innerHTML
Cells(2, 2) = objH3

对于上面的代码我现在得到运行时错误91。如何解决此问题并解析以获取特定的span标记值。

1 个答案:

答案 0 :(得分:0)

您可能需要抓取整个文本,然后解析出您的特定数据点。

由于您没有发布网址,这只是猜测。 。 。

Sub Test() Dim IE As Object

Set IE = CreateObject("InternetExplorer.Application")
With IE
    .Visible = True
    .Navigate "http://www.marketwatch.com/investing/stock/aapl/analystestimates" ' should work for any URL
    Do Until .ReadyState = 4: DoEvents: Loop

        x = .document.body.innertext
        y = InStr(1, x, "Average Target Price:")
        Z = Mid(x, y, 6)

        Range("A1").Value = Trim(Z)

        .Quit
    End With
End Sub