Excel VBAを使用して、特定のWebサイトのページソースを次の方法でダウンロードします。
Public Function GetPage(URL As String) As String
Dim oX As New MSXML2.XMLHTTP
oX.Open "Get", URL, False
oX.Send
GetPage = oX.responseText
End Function
ただし、注意深く調べたところ、このコードが返すHTMLソースは、Webブラウザーでサイトにアクセスしたときに返されるHTMLソースとは異なることがわかりました。
これは私が訪問しているウェブサイトです。ページの下部に、2つの結果が一覧表示されます。ここで、GetPage関数を使用してそのURLにアクセスすると、メインページのHTMLが返されますが、結果は含まれていません。ソースには、具体的に「0件の結果が見つかりました」と記載されています。何が得られますか?特定のHTML要素を置き換えるためにJavaScriptを使用しているようには見えないので、私は途方に暮れています。自分でサイトにアクセスすると速度が遅くなることに気付きましたが、VBAHTTPリクエストを実行するとほぼ瞬時に表示されます。たぶん私は何かを待たなければなりませんか?
VBAを介してHTTPリクエストを実行すると、これらの結果が見つからない理由を誰かが知っていますか?