2017-01-29 9 views
0

というレストランの電話番号を "GET" httpメソッドを使用して取得するコードを作成しましたが、このプロセスで はこれを超えています私の知識。だから、誰かがこの問題を解決する手助けをしてくれたら、私は彼にとても感謝しています。 ありがとうございます。"Get"リクエストメソッドが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

関連する問題