検索クエリ~テキスト形式で取得をVBAでやってみました。
【XMLHTTP60】の【responseText】プロパティを使う
以下のコードで、クエリ結果を文字列として取得することができる
Dim objXml As XMLHTTP60 Dim url As String Set objXml = New XMLHTTP60 url = "https://hogefuga" objXml.Open "GET", url, False objXml.Send Do While objXml.readyState < 4 DoEvents Loop Debug.Print objXml.responseText
↓関数化するともう少し便利↓
function GetHtmlCode(url As String) As string Dim objXml As XMLHTTP60 Dim result As String Set objXml = New XMLHTTP60 objXml.Open "GET", url, False objXml.Send Do While objXml.readyState < 4 DoEvents Loop result = objXml.responseText Set objXml = Nothing GetHtmlCode = result End Function
エラーハンドリングは一切していませんが、URLをこの関数に渡すことで、HTMLコードを取得することができます。データ収集には便利ですね。
検索クエリは連打してはダメ
試しに、複数回Google検索を実行させてみたところ、見事に弾かれました。
20回くらいで取得不能となり、数時間くらい放置しないと再実行できなくなります。
検索クエリを投げる時は、30秒に1回程度のインターバル時間を入れた方が良いです。