Excel(エクセル)は、データの計算・分析や、グラフ・関数・データベース作成など、様々な機能が備わっており、ビジネスパーソンにとって欠かせないツールです。
しかし、元となるデータは手動で入力する必要があります。Webサイトなどから取得したデータをExcelにコピー&ペーストするのは手間と時間を要するため、面倒に感じる方も多いでしょう。
そこで本記事では、Web上のデータをExcel内に自動で取り込む方法をいくつか紹介します。時間と労力を節約できれば、その分、データ分析や検証に時間を使うことができますので、ぜひ参考にしてください。
1.Webスクレイピング
Webスクレイピングは、WebデータをExcelに素早く取り込む最もかんたんな方法です。特に、Webスクレイピングツールを使えば、プログラミング知識がなくとも大部分をマウス操作だけで設定可能です。特定のWebサイトから任意のデータを自動で抽出し、Excelにエクスポートができます。
Webスクレイピングとは
Webスクレイピングは、Webページから情報を自動的に取得・抽出する技術のことを指します。この技術は、人間が手動でWebページを閲覧して情報をコピー&ペーストする代わりに、サイトクローラーと呼ばれるコンピューターボットを使用して大量のデータを効率的に収集するために利用されます。
特に、大量の情報が掲載されているWebサイトや、頻繁に更新されるデータベース等から情報を取得したい場合に有効です。Webスクレイピングについて詳しく知りたい方は、こちらの記事もご覧ください。
参考:Webスクレイピングとは?基本や仕組み、活用事例まで解説
WebスクレイピングツールOctoparse(オクトパス)とは
Octoparseは、Webスクレイピングを簡単に行うためのWebスクレイピングツールの一つです。プログラミングの知識がなくても、ノーコードで直感的な操作だけでWebページからデータを抽出できます。特に、繰り返しパターンを持つWebページや、複雑なWebサイトの構造からも効率的にデータを取得することが可能です。
また、Octoparseはクラウドベースのサービスであるため、大量のデータを高速に収集できます。さらに、定期的なデータの更新や複数のWebページからの情報収集など、多様なシナリオにも対応しています。
さらに、Octoparseにはスクレイピングテンプレートが豊富に備わっているため、わずかな手順を踏むだけで、スクレイピングを実行できます。高性能でありながらも、無料から利用できるので、個人のビジネスパーソンの業務効率化に役立つツールです。
Octoparseを使ったデータ取得の手順
ここでは例として、X(Twitter)で「ビッグデータ」に関するデータ取得の手順を解説します。
1.Octoparseを立ち上げ、テンプレートタスクをクリックします。
2.テンプレートギャラリーの右上にある、検索窓に「Twitter」と入力します。すると、X(Twitter)関連のテンプレートが表示されるので、その中から「weets details by keywords_Twitter」を選択します。
2.テンプレートの詳細画面が表示されるので、「今すぐ試す」をクリックします。
3.パラメーターに抽出するキーワード、抽出するツイートの開始日と終了日、そしてCookieを入力します。すべての入力が完了したら「保存実行」をクリックします。
注意点:Cookieの取得方法については、以下の記事を参考にしてください。
参考:Twitterアカウントのログイン後のCookieを手動で取得する方法
3.データ抽出が開始されるので、完了まで少しの間待ちます。実行が完了したらデータをエクスポートします。形式は、Excel・CSV・HTML・JSONから選択可能です。
4.以上でデータ抽出が完了です。実際にExcelでエクスポートしたデータは以下のように表示されます。
2.Webクエリ
Webページからデータをコピー&ペ―ストすることを除き、Webクエリは標準的なWebページからデータをExcelに取り込む際に使用します。インターネット上のさまざまなデータをExcelの表として取り込み、自由に加工ができます。
さらに、インターネット上のデータが更新されれば、Excel上のデータも自動的に更新させることができます。
Webクエリを取り込む手順
1.データを取り込みたいWebサイトのURLをコピーします。今回はYahoo!ファイナンス「株式ランキング」のデータを取得します。
2.Webクエリを取得するには、「クエリファイル」の用意が必要です。拡張子「iqy」ファイルを探し、元々あるファイルをコピーし、テキストエディタで取得したURLを記載し保存しましょう。
3.Excelを開き、「データ」 → 「外部データの取り込み」→ 「Webクエリの実行」を選択します。
4.すると、Queriesフォルダが開くので、先ほど作成したクエリファイルを選択し、「データ取り出し」をクリックします。
5.取り込み先のセルを選択して[OK]ボタンをクリックします。
6.Webクエリが実行され、データが取得できました。
3.Excel VBA
ExcelのVBA(Visual Basic for Applications)とは、Microsoft Officeに含まれるアプリケーションソフトの拡張機能である「組み込み言語」を指します。VBAを用いて、簡易なプログラムを記述し実行することで、複雑な処理の自動化が可能です。
1. VBEを開く
- Excelを開き、「開発」タブをクリックします。
- 「Visual Basic」をクリックして、VBE(Visual Basic Editor)を起動します。
注意:初期設定時は「開発タブ」が隠れている場合があります。VBAを使用する前は、以下の手順に沿って開発タブを表示させてください。
「ファイル」→「オプション」→「Excelのオプション」の順にウィンドウを開きます。続いて「リボンのユーザー設定」→メインタブの「開発」にチェックを入れます。
2. 標準モジュールを挿入する
続いて、コードを記述するための標準モジュールを挿入します。
- VBEの左側にあるプロジェクトエクスプローラーを右クリックします。
- 「挿入」から「標準モジュール」を選択します。
- VBEの右側に標準モジュールのウィンドウが開きます。
3. Webページからデータを取得するコードを入力
ウィンドウ内にVBAのコードを入力します。ここでは、セルA1に「1」、セルA2に「2」と入力するコードを入力しました。
4. マクロを実行する
- VBEの上部のツールバーにある「▶」ボタンをクリックして、マクロを実行します。
- ExcelのシートにWebページのデータが取得されます。
4.データ取得代行サービス
複雑なVBAやスクレイピングに時間を掛けずに、手軽にデータを入手したい場合は、データ取得に関する豊富な経験・知識を持っているデータ取得代行サービスの活用がおすすめです。
Octoparseでも、スクレイピングを使ったデータ取得代行サービスを展開しています。Octoparseを使えば、誰でも簡単にスクレイピングが可能ですが、そもそもWebサイトによってスクレイピング制限があったり著作権表示があったりします。
そうしたWebサイトのデータ取得は難易度が高いため、豊富な経験を持つスクレイピングチームは、適切な方法でWebサイトからデータを取得し、最適なフォーマットで納品可能です。
5.プログラミング言語
一般的には、プログラマやシステムエンジニアが、PHP、Python、Rubyなどのプログラミング言語でWebクローラーを自作し、Webスクレイピングによってデータを自動収集します。自分でスクレイピングを実行できれば、自由にカスタマイズできます。
ただし、難解なプログラミング言語を習得するには、それなりに学習コストが掛かるため、初心者には不向きです。
まとめ
今回はWebサイトからデータを取得する方法を紹介しました。数十件程度のデータ取得であれば、手作業で行ったほうが早いかもしれませんが、何百件〜何千件、さらにそれが毎回となれば、自動化することで、作業時間を大幅に削減できます。
今回紹介したように、Webページ上のデータをExcelに取り込む方法はたくさんあります。自身のスキルや経験に応じて、やりやすい方法から試してみてください。