残業を減らす!Officeテクニック

Excelに毎度同じWebサイト上のテキストデータをまとめる苦行は自動化で解脱!

Power Automate Desktopで表形式ではないWebページの情報をスクレイピング

コピペの自動化ツールとして、Power Automateを使ってみよう

 Webサイトのテキスト情報をリスト化したいことがありませんか? コピー&ペーストで済ましてしまうこともあると思いますが、余計なリンクなどの不要な情報をいちいち削除するのが面倒ですよね。

 Webサイト上の画像を一気に取得できるアドインなどは多いのですが、テキスト情報のスクレイピングとなると、結果として専門的なツールに導かれると思います。

 もっと簡単・無料でコピペ代わりに働いてくれるツールがないものか? ということで、今回はPower Automate Desktopを使って、WebページのデータをExcelにまとめる方法を紹介します。

 Power Automateは、Microsoftの提供するRPA(Robotic Process Automation)ツールです。Microsoft アカウントがあれば無料で利用可能。自分のPC内にあるアプリを制御するには、デスクトップアプリを入手します。

Power AutomateのWebサイトにログインした状態。[作成]をクリックする
画面右上の[インストール]から[デスクトップ用Power Automate]をクリックする

 Webページ上のデータの取得・整形にChatGPTを利用する手もありますが、現時点で無料ユーザーはExcelデータへの出力は不可。また、ExcelのPower QueryからWebページにアクセスして情報を取得するなら、Webページの情報がテーブル形式でまとまっていることが前提です。

 一方、Power Automate Desktopは無料。HTMLタグを指定できるため、柔軟にデータを取得することもできます。日頃、コピペで苦戦しているなら、試してみる価値はあると思いますよ。

新しいフローを作成する

 Power Automate Desktopで自動化する処理は「フロー」としてまとめられます。任意の名前を付けて作成しましょう。新しいフローが作成されるとアクションを追加するウィンドウが表示されます。

Power Automate Desktopを起動して、左上の[新しいフロー]をクリックする
フローに任意の名前を付ける。ここではWebページのテキスト情報を取得するので、「Webテキスト取得」と名前を付けた
アクションを追加するウィンドウが開く。画面左側に追加できるアクションが並ぶ

アクションを追加する

 アクションの追加は画面左側の一覧からドラッグ&ドロップするだけです。続けて必要な情報を入力する画面が表示されます。ここでは、以下のWebページから必要な情報を取得してみます。

情報を取得したいWebページを開いておこう。以降の操作でURLが必要になるのでコピーしておく

 追加するアクションは[新しい Chrome を起動する]と[Web ページからデータを抽出する]の2つのみです。なお、[新しい Chrome を起動する]を初めて追加する時、Power Automateのアドインをインストールするように要求されるので、許可して追加しておきます。

[Web オートメーション]-[新しい Chrome を起動する]をドラッグする。初めて追加する時はPower Automateのアドインをインストールするように要求されるので、許可して追加しておく
[新しい Chrome を起動する]アクションに必要な情報を入力する。情報を取得したいWebページのURLを[初期 URL]にペーストしよう。なお、長すぎるURLはエラーとなることがある。その場合は短縮URLなどを利用しよう。[保存]をクリックする
続けて[Web データ抽出]-[Web ページからデータを抽出する]をドラッグする
[Web ページからデータを抽出する]アクションに必要な情報を入力する画面が表示される。[Web ブラウザー インスタンス]を変更する必要はない。[データ保存モード]から[Excel スプレッドシート]を選択する。[保存]はクリックせずに、このままにしておく

 続けて、Webページから取得する要素を指定するため、[Web ページからデータを抽出する]アクションの画面はそのままにしておきます。閉じてしまった場合は追加した[Web ページからデータを抽出する]の項目をダブルクリックして再表示してください。

Webページから取得する要素を指定する

 [Web ページからデータを抽出する]アクションで取得するWebページの要素を取得します。[Web ページからデータを抽出する]アクションの画面を開いた状態でWebブラウザーを選択します。

 [ライブ Web ヘルパー]の画面が表示されて、Webページの要素にマウスポインターを合わせると赤い枠で強調されることがわかります。

[Web ページからデータを抽出する]アクションの画面を表示したまま、Webブラウザーを選択すると、[ライブ Web ヘルパー]の画面が表示される
取得したい要素を右クリックして[要素の値を抽出]-[テキスト]の順にクリックする。Webページによって、URLなども取得可能だ
取得した要素は[ライブ Web ヘルパー]の画面に表示される
同様にほかの要素も取得する
「値 #1」「値 #2」「値 #3」のようにリスト化される
いくつか続けて取得すると、取得するであろう要素が自動的に認識される。[終了]をクリックする。なお、意図通りに取得できない場合は、画面上部の[リセット]をクリックしてやり直せる。自動認識後に不要な列は、画面下部の[詳細設定]から削除可能
[Web ページからデータを抽出する]アクションの画面に戻って[保存]をクリックする

 要素をいくつか取得すると自動認識されますが、Webページの構造によって意図通りに動作しないこともあります。その場合は[ライブ Web ヘルパー]の画面下部にある[詳細設定]から、HTMLタグを直接指定するか、取得後にExcel上で整形します。

フローを実行する

 作成したフローを実行してみましょう。画面上部の[実行]をクリックします。Webページの構造により、取得できていない箇所もありますが、くり返しコピペするよりは効率的でしょう。

画面上部の[実行]をクリックする
取得したWebページの要素がExcelに表示される

 ここで作成したフローを実行すると、Webページが開いたまま、Excelも表示されて未保存の状態です。アクションとして[Web ブラウザーを閉じる][Excel の保存]などを追加することで、さらにフローを充実させることもできます。ぜひ試してみてください。