1. システムとオフィスの融合
  2. media
  3. Power Automate
  4. Power Automate Desktop で Webスク レイピング してみた ~PDFから表の抽出~

QESブログ

Power Automate Desktop で Webスク レイピング してみた ~PDFから表の抽出~

  • LINEで送る
  • このエントリーをはてなブックマークに追加
Power Automate Desktop で Webスク レイピング してみた ~PDFから表の抽出~
こんにちは。今回は、無料で利用できる Power Automate Desktop を使った Web スクレイピングの方法を紹介したいと思います。
ケーススタディとして、毎月公表される最新版の資料を Windows のタスクスケジューラと Power Automate Desktop を使い、発表日に最新の PDF ファイルを取得し、一部の表を Excel に保存するというケースを試みてみたいと思います。
今回は総務省統計局の消費者物価指数(CPI)結果を対象としたいと思います。


1. 事前準備

Windows 10 に、Power Automate Desktop をインストールします。また、今回は Power Automate Desktop で、Edge を利用するため、Power Automate のブラウザー拡張機能をインストールして有効にする必要があります。
インストール方法については、ここを参考にしてください。


2. フローの準備

Power Automate を起動し、「新しいフロー」を押下するとフローを作成する画面が開きます。ここで、今回作成するフロー名を指定して(今回は「Webスクレイピング」とします。)作成ボタンを押下します。しばらくするとアクションの編集画面が開きますので、この画面で今回のケーススタディのフローを作成していきましょう。





3. サブフローの準備

今後いろいろな Web ページからスクレイピングする可能性もあるので、1つのサイトから取得するデータをサブフローとして定義しましょう。サブフローから「新しいサブルーチン」を押下するとサブフローの追加画面が開きますので、ここでサブフロー名(今回は「CPI」とします。)を入力して保存ボタンを押下するとサブフローが作成されます。





4.サブフローの作成

ここから、サブフローに今回のケーススタディのアクションを追加していきましょう。

サブフローの全体は下記のように設定します。



Edgeを起動して、消費者物価指数(CPI)結果の全国(最新の月次結果の概要)ページを開きます。下記図の右上赤枠の公表日が当日ならば、下の赤枠のPDFをダウンロードするようにします。



次にダウンロードしたPDFから「表1 総合、生鮮食品を除く総合、生鮮食品及びエネルギーを除く総合の指数及び前年同月比」の表をExcelのシートに書き込むようします。




PDFの表データはExcelインスタンスから下記のようにして取得できます。



その結果、下記のような表が取得できました。




5.Main フローの作成

有償ライセンスとなりますが、Power Automate でフローのスケジュール実行も可能です。
ただ今回は、タスクスケジューラでの実装方法をご紹介します。

下記のようにWeb スクレイピングするサブフローをタスクスケジューラから実行できるように少し工夫してみたいと思います。

Main フローの全体は下記のように設定します。CPIという空ファイルが存在するまで待機して、存在したらWebスクレイピングのサブフローを実行して、最後にCPIファイルを削除して無限ループをするように設定しています。




6.タスクスケジューラからのフロー実行

Main フローでファイルを待機するようにしたので、下記のようにタスクスケジューラで毎日定時にファイルを作成するようにしてみたいと思います。

※ユーザがログオンしているかどうかにかかわらず実行するを選択

※今回は毎日10時に実行するようにスケジュール

fsutil.exe を利用して空のファイル(ファイル名は「CPI」とします。)を作成するようにします。


タスクスケジューラの設定ができました。
これで毎日10時に新しいPDFが公表されていないか確認して、最新の消費者物価指数のデータをExcelの表として取得できるようになりました。


7.まとめ

今回のケーススタディを参考に、無料で利用できる Power Automate Desktop をぜひ活用してみてください。さらにPower BI を使えば、取得した消費者物価指数のデータと最新の売上データを比較するなどデータ分析に利用できます。このように公開されているデータをうまく活用して、企業のDX推進に生かしてみてはいかがでしょうか。

他にも Power Automate Desktop に関する Blog を掲載しております。ご興味があればご覧ください。


QESでは、現在 Power Platform に力を入れて取り組んでいます。
Power Platform の導入や Power Apps によるアプリケーション開発も行っていますので、お困りの際はぜひお問い合わせください。

また、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください。


また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
https://www.qes.co.jp/recruit.htm

※このブログで参照されている、Microsoft、Windows、Azure、SharePoint、PowerAppsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ