Json Can';无法使用GET请求到达目标页

Json Can';无法使用GET请求到达目标页,json,vba,web-scraping,xmlhttprequest,Json,Vba,Web Scraping,Xmlhttprequest,运行我的vba脚本时,我可以看到它无法到达我要从中提取不同名称的目标页面。很明显,我的代码中有什么地方出错了,但我找不到。希望有人能帮我找出我犯的错误。谢谢代码如下: Sub Getmethod() Dim http As New MSXML2.ServerXMLHTTP, html As New HTMLDocument Dim topics, topic, ele As Object Dim StrData As String StrData = "what=Plumbers/where=

运行我的vba脚本时,我可以看到它无法到达我要从中提取不同名称的目标页面。很明显,我的代码中有什么地方出错了,但我找不到。希望有人能帮我找出我犯的错误。谢谢代码如下:

Sub Getmethod()
Dim http As New MSXML2.ServerXMLHTTP, html As New HTMLDocument
Dim topics, topic, ele As Object
Dim StrData As String

StrData = "what=Plumbers/where=All+States"
    With http
        .Open "GET", "http://www.yellowpages.co.za/search/" & StrData, False
        .setRequestHeader "Content-Type", "text/xml"
        .send
        html.body.innerHTML = http.responseText
    End With

    Set topics = html.getElementsByClassName("resultName")
    For Each topic In topics
        Set ele = topic.getElementsByTagName("a")(0)
        x = x + 1
        Cells(x, 1) = ele.innerText
    Next topic
End Sub
以下是表单元素:

<form action="/search/" class="searchForm" id="searchForm" autocomplete="off">
    <div id="whatDiv">
    <label class="searchLabel whatLabel" data-icon="">
        <input type="search" id="whatField" name="what" class="searchField whatField" placeholder="Search for companies and services" autocomplete="off" tabindex="1">
    </label>
    </div>
    <input type="submit" value="GO" class="searchBtn" tabindex="3" id="searchBtn">
    <label class="searchLabel whereLabel" data-icon="">
        <input type="search" id="whereField" name="where" class="searchField whereField" placeholder="Location" autocomplete="off" tabindex="2">
    </label>
</form>

标准数据的内容更改为
“管道工/所有+州”
。然后返回数据,如下所示:

Flinkdink Plumbers CC →
AD-Hoc Plumbers →
GANGA PLUMBERS →
BURGESS PLUMBING →
Burgess & Partners →
Drainmen →
Drainmen →
Anchor Electrical →
Cobra →
Bryanston Plumbing (Pty) Ltd →
Amazon →
A A A Plumbers →
A A A Plumbing →
A A A Plumbing →
Berea Plumbers →
Drain Blasters →
R C Bosman Plumbing →
R C Bosman Plumbing →
Currie Plumbers →
DRAIN GEYSER PLUMBING EXPERTS →

将标准数据的内容更改为“管道工/所有+州”
。然后返回数据,如下所示:

Flinkdink Plumbers CC →
AD-Hoc Plumbers →
GANGA PLUMBERS →
BURGESS PLUMBING →
Burgess & Partners →
Drainmen →
Drainmen →
Anchor Electrical →
Cobra →
Bryanston Plumbing (Pty) Ltd →
Amazon →
A A A Plumbers →
A A A Plumbing →
A A A Plumbing →
Berea Plumbers →
Drain Blasters →
R C Bosman Plumbing →
R C Bosman Plumbing →
Currie Plumbers →
DRAIN GEYSER PLUMBING EXPERTS →


您确定URL带有搜索参数吗?如果我把这个URL放在浏览器中,它不会返回任何内容。当我试图在开普敦搜索水管工时,URL如下:
http://www.yellowpages.co.za/Search/plumbers/cape+小镇,+western+cape/1
。那么你的URL可能不正确?您是否先尝试手动输入此URL?谢谢dee先生的回复。不,我没有手动输入。那么,您可能应该先在浏览器中输入此URL,以查看URL是否正确,以及它是否确实返回了一些内容。刚刚检查过,它将转到我希望浏览器访问的页面。我手动尝试的url是“OK”,因此,
StrData
可能不正确。它应该是
管道工/All+州
?您确定带有搜索参数的URL吗?如果我把这个URL放在浏览器中,它不会返回任何内容。当我试图在开普敦搜索水管工时,URL如下:
http://www.yellowpages.co.za/Search/plumbers/cape+小镇,+western+cape/1
。那么你的URL可能不正确?您是否先尝试手动输入此URL?谢谢dee先生的回复。不,我没有手动输入。那么,您可能应该先在浏览器中输入此URL,以查看URL是否正确,以及它是否确实返回了一些内容。刚刚检查过,它将转到我希望浏览器访问的页面。我手动尝试的url是“OK”,因此,
StrData
可能不正确。它应该是
管道工/All+州
?更改了我帖子中的参数以满足StrData的要求,但仍然没有运气。“没有运气”到底是什么意思?你得到了一些错误还是没有得到预期的数据?我什么都没有得到。也没有错误。调试时,我可以看到,在点击[主题中的每个主题]后,它会到达末尾子行。因此,您现在使用的Url如下所示
http://www.yellowpages.co.za/search/Plumbers/All+州
对吗?当您将此Url放入类似Internet Explorer的浏览器并按Enter键时,服务器将返回结果,以便您可以在浏览器中查看这些结果,对吗?但是,当您在VBA代码中使用此Url时,它不会返回任何结果,我是否理解正确?是的,先生,就是这样。我不在电脑旁,所以延迟了回复。更改了帖子中的参数以满足StrData的要求,但仍然没有运气。“没有运气”到底是什么意思?你得到了一些错误还是没有得到预期的数据?我什么都没有得到。也没有错误。调试时,我可以看到,在点击[主题中的每个主题]后,它会到达末尾子行。因此,您现在使用的Url如下所示
http://www.yellowpages.co.za/search/Plumbers/All+州
对吗?当您将此Url放入类似Internet Explorer的浏览器并按Enter键时,服务器将返回结果,以便您可以在浏览器中查看这些结果,对吗?但是,当您在VBA代码中使用此Url时,它不会返回任何结果,我是否理解正确?是的,先生,就是这样。我不在电脑旁,所以没有及时回复。