1

我需要使用 Excel 宏从 www.Eppraisa.com 获取一些值。

但我不知道 PropID 的值应该是多少。这就是宏适用于 URL1 但不适用于 URL2 的原因,因为我认为 URL2 的 propID 错误

Const URL1 As String = "http://www.eppraisal.com/home-values/property_lookup_eppraisal?a=1122%20E%20Loyola%20Dr&z=85282&propid=42382460"

Const URL2 As String = "http://www.eppraisal.com/home-values/property_lookup_eppraisal?a=19732%20E%20Reins%20Rd&z=85142&propid=31402642"

Sub xmlHttp()
    Dim xmlHttp As Object
    Set xmlHttp = CreateObject("MSXML2.XMLHTTP")

    ' This works
    xmlHttp.Open "GET", URL1, False

    ' But doesn't work for below url :(
    'xmlHttp.Open "GET", URL2, False

    xmlHttp.setRequestHeader "Content-Type", "text/xml"


    xmlHttp.send

    Dim ieDom As New HTMLDocument
    Dim html As Object
    Set html = CreateObject("htmlfile")
    html.body.innerHTML = xmlHttp.responseText
    Debug.Print html.body.innerHTML
    ieDom.body.innerHTML = xmlHttp.responseText

    For Each ieInp In ieDom.getElementsByTagName("p")
        If ieInp.className = "ColorAccent6 FontBold FontSizeM Margin0 Padding0" Then
            strEppraisalValue = ieInp.innerText
        ElseIf ieInp.className = "FontSizeA Margin0 DisplayNone HighLow" Then
            strEppraisalHighLow = ieInp.innerText
        End If
    Next End Sub
4

1 回答 1

2

使用 Mozilla Firefox 和 Firebug,您可以识别请求和响应。

以下步骤适用于您进行的任何搜索。

1将以下 URL 复制到 Firefox 浏览器。

http://www.eppraisal.com/home-values/property/1122-e-loyola-dr-tempe-az-85282-42382460/

在此处输入图像描述

2 打开 FireBug 并查找以下请求。转到 Net Tab > XHR,如下图所示。

在此处输入图像描述

3展开节点并转到参数选项卡。它显示了 GET 请求所需的所有输入参数。

在此处输入图像描述.

4最后,我们可以在“响应”选项卡中看到来自服务器的响应。

在此处输入图像描述

于 2013-07-26T07:51:08.227 回答