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ページでもスクレイピングできそう。
たくさんのアクションがあるので、アイデア次第でもっと面白いこともできる。
これなら非プログラマーでも簡単に業務の自動化ができそうだ。