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操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。
コメント