2017-01-29 43 views
0

不工作我寫了一個代碼使用其應用 的電話號碼,以獲取名稱的餐館 「GET」 HTTP方法,但我在做什麼錯 這個過程超出了我的知識。所以,如果有人伸出援助手來解決這個問題,我會非常感謝他。 在此先感謝。「獲取」請求方法在VBA

Sub test() 

Dim xmlhttp As New MSXML2.XMLHTTP60, myHtml As New HTMLDocument 
Dim PostData As String, ele As Object, thing As Object 
Dim x As Long 

x = 2 

PostData = "what=5197365924" 
xmlhttp.Open "GET", "http://mobile.canada411.ca/search/" & PostData, False 
xmlhttp.setRequestHeader "Content-Type", "text/xml" 
xmlhttp.send 
myHtml.body.innerHTML = xmlhttp.responseText 


Set ele = myHtml.getElementsByClassName("merchant-title__name jsShowCTA") 

For Each thing In ele 
    Cells(x, 1) = thing.innertext 
    x = x + 1 
Next thing 

End Sub 

回答

0

在我的文章中有很多問題。不過,我已經修復它了。現在,這是很好的去。

Sub reverse_search() 
    Dim http As New XMLHTTP60, html As New HTMLDocument 
    Dim ArgumentString As String, post As Object 

    ArgumentString = "what=5197365924&where=Canada&redirect=reversetobusiness" 

    With http 
     .Open "GET", "https://www.yellowpages.ca/bus/Ontario/Amherstburg/Downtown-Expresso-Cafe/522901.html?" & ArgumentString, False 
     .setRequestHeader "Content-Type", "text/xml" 
     .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" 
     .send 
     html.body.innerHTML = .responseText 
    End With 

    For Each post In html.getElementsByClassName("merchant-title__name") 
     x = x + 1: Cells(x, 1) = post.innerText 
    Next post 
End Sub 
2

您的代碼非常好,但您的端點不顯示任何內容,您可以在瀏覽器中進行測試,您將看到。

我建議您閱讀YellowAPI doc並測試這種endpoint,更改值YOUR_API_KEY_HEREYOUR_UID_HERE

+0

是的,我明白你說了什麼,但我想先走一步,不要使用API​​,而是以我開始的方式完成它。應該有替代方案,我可以通過它到達目的地並刮掉我想要的東西,因爲您知道我現在正在使用此代碼重定向。 – SIM