VBAでIEを起動し、Webページ内のhead要素を取得・body要素を取得する方法です。
基本的にはId要素やName要素を取得する場合と取得の仕方は同一です。
Webページのhead要素・body要素を取得するサンプルコード
'■Webページのhead要素とBody要素を取得する
Public Function Call_sample_get_head_get_body()
Dim objIE As Object
Dim i As Long
'■IE生成→指定URLへ飛ぶ
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "https://vba-create.jp"
Call_IE_WaitTime
'■Head要素を取得
MsgBox objIE.document.head.outerHTML
'■Head要素内のすべての要素を取得
For i = 0 To objIE.document.head.all.Length - 1
MsgBox objIE.document.head.all(i).outerHTML
Next i
'■Body要素を取得
MsgBox objIE.document.body.outerHTML
'■Body要素内のすべての要素を取得
For i = 0 To objIE.document.body.all.Length - 1
MsgBox objIE.document.body.all(i).outerHTML
Next i
End Function
その他
毎度おなじみですが、Call_IE_WaitTimeの処理はこちらを参照ください。
Function化の優位性を理解いただくため、関数化(Function)させています。
その他
Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。
Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。



コメント