ブログ

Power BIでAPIを使わずにウェブ上のデータを取得する方法

#Power BI #API

積極採用中
セミナー情報

Power BIはデータベース、ファイル、Web APIなど、さまざまなデータソースに接続できるツールであることはご存じかと思います。

Web上のデータソースへの接続はWeb APIを使用するのが望ましい方法です。しかし、取得したいデータがWeb APIで取得できないケースも少なくはありません。
Web APIでデータが取得できない場合でもWeb上のデータを取得することは可能です。

 

Webからデータを取得する2つの方法

Power BIでWeb APIを使わずにWebからデータを取得する方法として、2つの方法を紹介します。

1.Webスクレイピング
2.Web上のファイル(ExcelまたはCSVなど)からのロード

1.Webスクレイピング

Webスクレイピングするデータは経済産業省HP 第3次産業活動指数のデータを使用します。
↓Webページの表をWebスクレイピングしていきます。

Power BIの数あるコネクタの中から、Webスクレイピングができるコネクタを選択し、データを取得していきます。
↓Power BI Desktop を開き、「ホーム」タブから「データを取得」を選択し、[データを取得]ウィンドウで、利用可能なデータソースのリストから[Web]を選択します。

↓データをスクレイピングするウェブサイトの URL を入力し、[OK]をクリックします。
今回はhttps://www.meti.go.jp/statistics/tyo/sanzi/result-1.htmlを入力します。

↓WebコンテンツへのアクセスではWebサイトにアクセス制限などがあれば設定が必要となります。今回は経済産業省のHPでオープンであるため、匿名を選択し、接続をクリックします。

↓ナビゲーターウィンドウで、ウェブサイトから抽出するテーブルまたはデータを選択し、“読み込み”をクリックします。

読み込んだデータをPower Query エディターでWebページの表が取り込まれているか確認します。
↓[編集]をクリックし、[Power Query Editor]を開きます。データの取得が確認できました。

Webスクレイピングで取得したデータはWeb APIよりも加工が必要な場合が多いです。今回のようにデータをマトリクスで取り込んでいるケースなどがあるので、必要に応じてPower Query エディターで加工をしてください。

2.Web上のファイル(ExcelまたはCSVなど)からのロード

↓Web上のファイルは経済産業省HPの第3次産業活動指数のデータを使用します。
https://www.meti.go.jp/statistics/tyo/sanzi/result/excel/b2015_koqj.xlsx
Power BIの”Web”コネクタはWeb上のファイルからのデータ取得も可能です。それではWeb上のファイルのデータを取得していきましょう。
↓Power BI Desktop を開き、「ホーム」タブから「データを取得」を選択します。“データを取得”のウィンドウで、利用可能なデータソースのリストから[Web]を選択します。

↓Web上のファイルのURL を入力し、[OK]をクリックします。今回はhttps://www.meti.go.jp/statistics/tyo/sanzi/result/excel/b2015_koqj.xlsx を入力します。

↓ナビゲーターウィンドウで、Web上のファイルから抽出するテーブルを選択し[読み込み]をクリックします。

↓[編集]をクリックし、[Power Queryエディター]を開きます。Web上のファイルのデータが取得できたことが確認できました。

Power BIでWeb APIを使わずにWebからデータを取得する方法として、2つの方法を紹介しました。

Webスクレイピングを利用してWebデータを収集するメリットとデメリット

Webスクレイピングによるデータ取得は簡単にできてしまい、利便性が高い機能であることはお分かりかと思います。しかし、メリットもあればデメリットもあります。メリットとデメリットをまとめてみました。

Webスクレイピングを利用してWebデータを収集するメリット

Webスクレイピングを利用してWebデータを収集するメリットは以下となります。
・データへのアクセス: Webスクレイピングでは、複数のソースやWebサイトからデータを収集できるため、他の方法では入手が困難な様々なデータへのアクセスが可能です。
・データ収集のカスタマイズ: Webスクレイピングでは、特定のデータフィールドやページを対象とすることができるため、収集するデータの種類を柔軟に変更することが可能です。
・リアルタイムのデータ収集: Webスクレイピングにより、最新のデータを入手することができます。タイムリーなビジネス上の意思決定を行う上で効果的です。
・費用対効果:手作業によるデータ入力や外部のデータプロバイダーが不要なため、Webスクレイピングは費用対効果の高いデータ収集方法となります。

Webスクレイピングを利用してWebデータを収集するデメリット

・法的問題:Webスクレイピングは違法となる可能性がゼロではありません。Webサイトの利用規約や著作権法に抵触する可能性もあります。Webスクレイピングを進める前に、法的問題を確認する必要がある場合があります。
・ウェブサイト変更への対応: Webスクレイピングは、Webサイトの変更、特にデータのレイアウトなどの変更に対応できない場合があります。
・データの正確性: Webスクレイピングはスクレイピングの実行にあたり、プロセスのエラーやWebサイトのデータ不整合により、不正確なデータを取得する可能性があります。

Webスクレイピングを使用する前には、メリットとデメリットを認識することが重要です。Webスクレイピングでのデータ収集にあたり、適切な管理、運用を行うことでWebスクレイピングに関連するリスクを最小限に抑えることができます。

Webスクレイピングでデータを取得するか、Web APIを使用するか

Power BIでWeb上のデータ取得を検討する際、Webスクレイピングか、Web API を使用するか判断が難しい場合があります。WebスクレイピングかWeb APIかはアクセスするWebサイトやデータソース、データ量、データの複雑さなど、さまざまな要因によって決まります。ユーザーのニーズも踏まえ検討が必要ですね。どちらが良いのか、判断するのにお役立てください。

Web APIを使用するか

Web APIの使用を検討する際に、以下を参考にしてみてください。
・構造化データへのアクセス: Web APIは使いやすく、分析しやすい構造化されたデータへのアクセスが可能です。Web APIはJSONやXMLなどの定義されたフォーマットでデータを提供するためPower BIで容易に使用することができます。
・データ取得の速度:Web APIはデータを取得するための機能なので、データ取得の速度は一般的にWebスクレイピングよりも高速です。
・データの品質: Web APIで取得するデータはWebサイト所有者から直接提供されるため、より信頼性が高く正確です。

Webスクレイピングを使用するか

Webスクレイピングの使用を検討する際に、以下を参考にしてみてください。
・データ収集の自由度: Webスクレイピングは収集するデータの自由度が高いです。あらかじめ定義されたデータを提供するWeb APIとは異なり、Webスクレイピングでは特定のデータフィールドを抽出し、ユーザーのニーズに合わせてデータを調整することができます。
・非構造化データへのアクセス: Webスクレイピングではテキストなどの非構造化データにアクセスすることができます。これにより、構造化されたデータでは得られないデータと分析が可能となります。
・費用対効果: WebサイトによってはAPIを提供していない場合、Web APIへのアクセスに費用がかかる場合があります。Web APIを使用するよりも費用対効果が高い場合があります。WebスクレイピングはWeb APIアクセスの必要性がなく、無料または低コストのツールでデータ取得をすることができます。

まとめ

・Power BIでWeb APIを使わずにウェブ上のデータを取得する方法として1.Webでのスクレイピング、2.Web上のファイルからのデータロードを紹介しました。
・Webスクレイピングは便利でメリットもあるがデメリットもある。デメリットは法的問題などがあり、対応が必要な場合があります
・WebスクレイピングかWeb APIか、どちらでデータ取得をするかはケースバイケースで、ユーザーのニーズも踏まえ検討しましょう。

<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら

<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ