WebサイトからExcelにデータを取り込む作業を手動で行うと膨大な時間や手間が掛かります。データ収集を自動化する方法を学べば、大幅に作業時間を減らすことができます。今回はプログラミング不要で、誰でも簡単にデータ抽出を自動化する方法を紹介します。
Webサイトの情報をExcelに自動で取り込む方法
全世界で7億5000万人以上のユーザーを抱えるMicrosoft Excelは、データの整理、書式設定、計算を行うためのアプリケーションとして、日本のビジネスシーンでも広く普及しています。
Excelの大きな特徴は、取り込んだファイルのデータをさまざまな形に視覚化できること。例えば、テーブル、グラフ、表、その他にも便利な機能が備わっています。ユーザーはデータセットを簡単に操作し、収集したデータから洞察を得ることができます。
しかし、Excelを使用頻度が多い場合、データを取り込む作業自体が負担に感じるようになるでしょう。ここでは、任意のWebサイトを構造化されたExcelファイルにインポートする4つの方法をご紹介します。
- 手動でのコピーアンドペースト
- Webクエリの実装
- ExcelのVBA言語の使用
- Webスクレイピングツールの使用
それぞれの方法には長所と短所がありますので、自分のニーズに最も適した方法を選択することが重要です。
手動でのコピー&ペースト
Excelに取り込むデータの量や形式によりますが、手動でのコピー&ペーストは多くの方が選択する手段です。ただし、これは時間がかかる作業であり、単調で退屈な時間を過ごすことになります。
たとえば、類似サービスの競合比較表やプラン比較表などを作成する場面で使用されるケースが少なくありません。これらは、抽出したいデータがすでにテーブル形式になっている場合に便利で、Webサイトからテーブルをコピーして、Excelに貼り付けるだけで表が完成します。
しかし、コピー&ペーストは、あくまでもデータが構造化されている場合にのみ有効です。実際のところオンラインデータのほとんどが非構造化されているため、この方法はほとんどのケースで無効であることに注意しましょう。
Webクエリの実装
Windowsを使用している場合、Microsoft ExcelにはPower Queryという非常に便利ながらもあまり知られていない機能があります。これは、自動化された構造化データをExcelシートに直接取得することができる機能です。
Power Queryを使えば、データ分析作業で発生する様々なデータ加工作業を自動化することができます。マクロを覚える必要もなく、Power Queryだけで作業が完結するため、非常に有効な機能といえます。
しかし、Power Queryはすでに構造化されたデータでしか機能しないため、使用できる範囲は限定的です。また、この機能はWindowsオペレーティングシステム専用であり、Macや他のOSのユーザーは利用できません。
ExcelのVBA言語
MicrosoftのVBA(Visual Basic for Applications)は、Office製品の操作を自動化するためのプログラミング言語です。VBAは、Excelだけでなく、WordやPowerPointなどでも使用できます。VBAを用いることで、作業プロセスを自動化したり、マクロを作成したり、カスタムフォームを作成するといったように、特定のビジネスニーズに合わせてカスタマイズできます。
VBAのメリットは、「操作を記録できる」ことです。繰り返し行っていた作業を「再生ボタン」を押すだけで実行できるようになり、データ加工の効率化が図れます。ただし、VBAを活用するには、プログラミングとWebスクレイピングの専門知識が必要です。そのため、プログラミング知識を持たない方にとっては、ややハードルが高い手法です。
Webスクレイピングツールの使用
Webスクレイピングツールを使うと、インターネット上の情報を自動的に集めることができます。これにより、大量の情報を手作業で集める必要がなくなり、時間と労力を大幅に節約できます。また、Webサイトから自由に情報を取り出すことができ、その情報は整理された形(Excelなど)で保存されます。
Webスクレイピングツールは、自分でプログラムを作る方法と、既に作られたツールを使う方法の2つがあります。自分で作る場合は、Node.jsやPythonといったプログラム言語を使います。一方、既に作られたツールを使う場合は、情報を集めたいWebサイトのアドレス(URL)や、検索したいキーワードを入力するだけで使うことができます。
特に、プログラミングスキルを持たない方や、IT操作に苦手意識を持つ方であれば、Webスクレイピングツールの使用は最も手軽な選択となるでしょう。
Octoparse(オクトパス)の紹介
ここでは、数あるWebスクレイピングツールの中でも人気の高い「Octoparse(オクトパス)」を紹介します。Octoparseは、Webサイトからデータを効率的に抽出するための強力なツールです。
ユーザーフレンドリーで直感的な操作が可能なインターフェースと豊富な機能を備えており、初心者でも簡単にWebスクレイピングを行うことができるテンプレートが用意されています。また、Octoparseはクラウドベースのツールであるため、大量のデータを迅速に抽出することはもちろん、任意のタイミングで自動でスクレイピングを実行させることも可能です。
ここではOctoparseを使って、任意のWebサイトから取得したデータをExcelに保存する方法を紹介します。
ステップ 1. データを収集したいWebサイトのテンプレートを探す
Octoparseでは、人気の高いWebサイトのスクレイピングテンプレートが用意されています。アプリストアのように、スクレイピングしたいWebサイトのテンプレートを検索しましょう。多くのテンプレートは無料で利用できますが、中には有料のものもあります。
またテンプレートが存在しない場合はスクレイピングタスクを自作するか、Octoparseにリクエストを送ることが可能です。テンプレートを見つけたら、「今すぐ試す」をクリックします。ここでは例として、ホットペッパービューティーを使用します。
Octoparseにログインしたら、テンプレートギャラリーより「ホットペッパー」と入力しましょう。いくつかテンプレートが表示されるので、「店舗情報ホットペッパービューティー(Keyword)」を選択します。
ステップ2.スクレイピングしたいデータを抽出する
次に、どんなデータを抽出するかを伝えます。ホットペッパービューティーのテンプレートでは、キーワードを入力する欄があるので、そこに任意のキーワードを打ち込みます。
ここでは、「銀座」「青山」「六本木」と入れてみます。入力が完了したら「保存実行」を押しましょう。
スクレイピングタスクの実行が完了し、以下のようにデータ抽出が開始されていれば問題ありません。すべてのデータ抽出が完了するまで、数分程度待ちましょう。
ステップ 3. スクレイピングデータを Excel にダウンロードする
すべてのデータ抽出が完了したら、スクレイピングデータを任意の形式にエクスポートできます。その中にExcelがあるので、そちらを選択してエクスポートを開始します。
店舗名、住所、電話番号、営業時間といった、美容サロンの情報を自動で収集することができました。このようにOctoparseを使えば、任意のWebサイトから欲しい情報を自動で抽出し、Excelでダウンロードすることが可能です。
まとめ
この記事では、WebサイトからExcelにデータをスクレイピングする方法を4つ紹介しました。手動でのコピーアンドペースト、Webクエリの実装、ExcelのVBA言語の使用、そしてWebスクレイピングツールの使用です。これらの方法はそれぞれ異なるシチュエーションやユーザースキルに適しています。
中でもWebスクレイピングツールは、大量のデータを効率的に収集するための強力なツールであり、自分でプログラムを作る方法と既製のツールを使う方法があります。これらの方法を理解し、適切に活用すれば、Webからのデータ収集がより簡単になります。