検索クエリ~テキスト形式で取得を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回程度のインターバル時間を入れた方が良いです。