Excel VBAでウェブサイトのランキング・トラフィック情報を抽出する方法

この記事では、Excel VBAを使用して、ウェブサイトのランキングやトラフィック情報を抽出する方法について解説します。具体的なコードとその詳細、さらに応用例を3つ紹介して、より実践的な利用方法を学びましょう。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

Excel VBAとウェブサイト情報の抽出

Excel VBA (Visual Basic for Applications) は、Excelの機能を拡張するためのプログラミング言語です。これを利用して、ウェブサイトの情報を抽出することができます。

基本的な抽出コード


Sub GetWebInfo()
    Dim ie As Object
    Dim html As Object
    Dim webContent As String
    
    Set ie = CreateObject("InternetExplorer.Application")
    With ie
        .Visible = False
        .navigate "https://example.com"
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop
        Set html = .document
        webContent = html.body.innerText
    End With
    Cells(1, 1).Value = webContent
    ie.Quit
End Sub

このコードは、指定したウェブサイト(ここでは “https://example.com”)のテキスト情報を取得し、ExcelのA1セルにその内容を表示します。

コードの詳細解説

InternetExplorer.Applicationオブジェクト

このオブジェクトを使用して、Internet Explorerをバックグラウンドで実行します。`.navigate`メソッドで指定したURLにアクセスします。

待機処理

`Do While .Busy Or .readyState <> 4`の部分は、ページの読み込みが完了するまで待機するためのコードです。

内容の取得

`html.body.innerText`を使用して、ウェブページのテキスト情報を取得しています。

応用例

応用1:特定の要素の情報を抽出


webContent = html.getElementById("elementId").innerText

上記のコードでは、指定したIDを持つHTML要素のテキスト情報を取得します。

応用2:テーブル情報の取得


Dim table As Object
Set table = html.getElementById("tableId")
For i = 1 To table.Rows.Length
    For j = 1 To table.Rows(i - 1).Cells.Length
        Cells(i, j).Value = table.Rows(i - 1).Cells(j - 1).innerText
    Next j
Next i

指定したテーブルの情報をExcelにコピーします。

応用3:複数のウェブサイトからの情報取得


Dim urls() As String
urls = Array("https://example1.com", "https://example2.com", "https://example3.com")
For k = LBound(urls) To UBound(urls)
    ie.navigate urls(k)
    Do While ie.Busy Or ie.readyState <> 4
        DoEvents
    Loop
    Set html = ie.document
    Cells(k + 1, 1).Value = html.body.innerText
Next k

指定した複数のウェブサイトから情報を順番に取得します。

まとめ

Excel VBAを利用して、ウェブサイトからの情報抽出は非常に便利です。基本的な方法から応用テクニックまで、さまざまなシチュエーションでの利用方法を学びました。これを活用して、効率的なデータ収集を行いましょう。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次