Microsoft Power Automate Desktop でスクレイピング

2021年3月2日に Microsoft から面白そうな RPA ツールが登場しました。

RPA(ロボティック プロセス オートメーション)日々の定形作業や、何かしらの業務を自動化し業務を効率化すること。

UI を見ると、今流行りのノーコードツール。
初見で触ってみましたが、直感的に操作でき、簡単にやりたい事をやれそうな感じ。

今回は Web ページのスクレイピングをPower Automateでやってみることにしました。

Download & Install

Power Automate Desktop のダウンロード

Power Automate Desktop | Microsoft Power Automate

インストール

インストーラーを実行して、インストール。


Microsoft アカウントでサインイン。

ブラウザ用拡張機能

使用するブラウザ用の拡張機能をインストールしておく。
インストールされていないと、HTML 要素の選択ができなかった。

Microsoft Power Automate – Chrome ウェブストア

Microsoft Power Automate – Microsoft Edge Addons

Microsoft Power Automate – Get this Extension for 🦊 Firefox (en-US)

Webページのスクレイピングを試してみる

「ハイロックスブログのメンバーページからメンバー名を取得して Excel で一覧表示する」という処理を作ってみた。
https://hirocks.jp/members/

フローを作成する

「新しいフロー」をクリック


フロー名に適当な名前をつける

アクションを追加

サイドバーに様々なアクションが用意されている。
ドラッグ&ドロップで実行したいアクションを追加するようだ。

今回はEdgeで試してみる事にしたので、「新しい Microsoft Edge を起動する」をドラッグ&ドロップで追加する


「初期 URL」に取得したいページのURLを入力する。


「Web ページからデータを抽出する」というアクションをドラッグ&ドロップすると、このようなダイアログが開かれた。
データ保存モードを「Excelスプレッドシート」を選んでみた。


「このダイアログが開いている間に…」と説明が書いてあるので、拡張機能をインストールしたブラウザで取得したいデータがあるページをブラウザで開くと…

先程インストールした拡張機能でマウスオーバーした箇所が赤い枠で囲まれている。
囲まれている要素を右クリックしてみると「要素の値を抽出」というメニューが表示されたので、メンバー名が表示されている「テキスト」を選択してみた。


選択したデータが「ライブ Web ヘルパー」に抽出プレビューとして追加されている。
要素のHTMLを調べたりセレクタ等で指定しなくても取りたいデータが簡単に取れるみたいだ。


これで指定したメンバーの名前は取れそうだけれど、すべてのメンバーの名前がほしいので、続いて二人目のメンバー名を選び、要素の値を抽出を選択すると…


なんと!自動でこのページの同じような要素を選択してくれ、すべてのメンバー名が抽出プレビューに表示された。
取得したいデータがとれそうなので、実行してみよう。


矢印アイコンをクリックして実行。
データ保存モードを「Excel スプレッドシート」を選択していたが、どう動作するんだろう。


実行画面が開き、ブラウザが起動しブログのメンバーページが表示され、Excelが開いた。
次々とウィンドウが開いたり、切り替わったりしてスクリーンショットを撮るのが大変なくらい軽快に動作している。


そして、ブログのメンバー名一覧がExcelで表示された。

感想

ブラウザの起動から、取得したい要素の選択まで、直感的に処理を作れるUIは素晴らしい。
Windows上でブラウザを起動してスクレイピングするため、SPAなWebページでもスクレイピングできそう。

たくさんのアクションがあるので、アイデア次第でもっと面白いこともできる。
これなら非プログラマーでも簡単に業務の自動化ができそうだ。