Excelは、様々なデータを集計・分析できる表計算ソフトです。書式とスタイル、検索・置換、数式と関数、グラフの作成、データベースなど様々な機能があります。ほとんどの場合、Webサイトから情報を取得して、データをExcelにインポートして、いろいろな分析で、知りたいとこを得る必要があります。この記事では、WebデータをExcelにスクレイピングするいくつかの簡単な方法を紹介します。
#Webクエリを使ってWebデータを取得する
Webページからデータをコピペすることを除いて、Webクエリは、標準的なWebページからデータをExcelにすばやく取り込むのに使用されます。ネット上にあるさまざまなデータをExcelの表として取り込み自まに加工することができます。しかもネット上のデータが更新されればExcel上のデータも自動で更新することだってできます。
取り込みの手順は次の通りです:
-
『データ』タブ → 『外部データの取り込み』 → 『Webから(Webクエリ)』を選択します。
-
アドレスに取り込みたいサイトのURLを入力し、移動をクリックして接続します。
-
そうすると、取り込める表の横に黄色の矢印マークが表示されます。
-
取り込みたい表の左上にある『→』矢印マークをクリックし、範囲選択します。
-
右下の『取り込み』ボタンをクリックし、インポートする位置のセルを指定すると、Excelに表が取り込まれます。
株価や為替、天気などの情報は日々変わっていきます。そのようなデータは、最新の情報を取得したいときに、データを自動更新を設定するすればよいです。
『データ』タブ → 『接続』 → 『プロパティ』ボタンをクリックして『接続のプロパティ』ダイアログを開きます。ここでは接続名とかも設定でき、『ファイルを開くときにデータを更新する』にチェックを入れておくと、ファイルを開く際に自動更新できます。また、更新の頻度も1時間ごとなど、自由に変更することができます。
#Excel VBAを使ってWebデータを取得する
VBA(Visual Basic for Applications)とは、Microsoft Officeに含まれるアプリケーションソフトの拡張機能で、利用者が簡易なプログラムを記述して実行することで複雑な処理の自動化などを行なうことができるものです。一般に「マクロ」と呼ばれ、このようなExcelファイルは**.xlsmとして保存されます。
インストールしたままの状態のExcelではVBAプログラミングのための開発タブが隠されています。ですから、使用する前にリボンに開発タブを表示する必要があります。『ファイル』タブ→オプションでExcelのオプション』ウィンドウを開きまして,『リボンのユーザー設定』→メインタブの『開発』にチェックを入れます。これでOKです。
VBAはVBE(Visual Basic Editor)という専用のアプリケーションを使って編集をしていきます。先ほど追加した開発タブからVisual Basicを選択してく、VBEが立ち上がります。
VBAを使ってWebサイトからデータをExcelに取り込むには、いくつかのリクエストをWebページに送信し、これらのWebページから返されたデータを取得するためのVBAスクリプトを作成または取得する必要があります。 XMLHTTPと正規表現でVBAを使ってWebページを解析するのは一般的です。Windowsでは、WinHTTPまたはInternetExplorerでVBAを使って、WebサイトからExcelにデータをスクレピングできます。VBAの使用は少し複雑なので、詳しい操作は次回にしましょう。オンラインでVBAの使い方には豊富な資料と学習フォーラムがあるので、興味がある方はすぐに使用できるVBAスクリプトを直接検索して使えます。
#自動Webスクレイピングツール
VBAコードを設定しようとしていなくWebページからデータをExcelに速く取り込む簡単な方法を探している人にとっては、WebスクレイピングツールまたはAPI経由でデータをスクレイピングのをお勧めします。Webスクレイピングツールのほとんどはコードを書くことなく使いやすいです。スクレイピングツールを使って、すぐにWebサイトからデータをスクレイピングし、Excelにエクスポートすることができます。様々なスクレイピングツールには長所と短所があり、プロジェクトを完成させるためには適当なものを選ぶことができます。
この記事をチェックして、TOP30の無料Webスクレイピングツールを試してみてください。
#プログラミング言語を使ってWebクローラーを構築する
一般的に、プログラマを中心にPHP、Python、Perl、Rubyなどのプログラミング言語でWebクローラーを作成し、WebページをスクレイピングしてデータをExcelにインポートする人がいます。この場合、データ取得は楽になりますよね。
#データ取得の代行サービスに任せる
複雑なスクレイピング作業に貴重な時間をかかりたくないて、データだけを入手したい場合は、データ取得作業を豊富な経験と専門知識を持っているスクレイピングチームに任せることが最良の選択です。あるWebサイトに制限や著作権表示があるため、データの取得は非常に難しいので、熟練したスクレイピングチームは、適切な方法でWebサイトからデータを取得し、必要とするデータフォーマットで納品できます。