Power Automate for Desktop 活用事例 – スクレイピング で WEBページ から データ抽出

 この記事では、 Power Automate for Desktop を活用して、Webページからデータを抽出 する、 スクレイピング について解説します。また、 WEBページ から抽出したデータを Excel に 名前を付けて保存する フローについて解説します。

 これらの技術を活用することにより、情報を素早く収集することができ、マーケティングやそれに付随する分析などに役立てることができます。

注意:スクレイピングは、サイトによって利用規約等で禁止されている場合があります。
   行う際はサイトの利用規約やその他注意事項を充分調べてから行ってください。

 Power Automate for Desktopは、Microsoft社が提供している RPA ツールです。RPA は「Robotic Process Automation /ロボティック・プロセス・オートメーション」の略で、「パソコン業務を自動化するためのツール」のことです。Windows上で行われる作業を実施させることで、人手で行ってきた定型的な事務作業を自動化し効率化することができます。Windows 10 ユーザーやWindows 11 ユーザーは無料でこの自動化ツールを使うことができます。

 

なお、以下のページで、サンプルフローの取得が可能です。実際のサンプルを見たり、動かしながら確認してみたいという方は、下記も参照してみてくださいね。

関連記事

WEBページ データ抽出 ( スクレイピング ) サンプルは「Power Automate for Desktop スクレイピング に サンプルフロー で チャレンジ」で紹介しています。

目次

スクレイピングとは?

スクレイピングを活用してどんなことができるのか

Power Automate を用いたWEB情報一覧作成フロー

⓪:事前準備
①:WEB情報を取得するサイトにアクセスする。
②:ページから情報を取得する。
③:①・②を元に取得したデータを元にExcelファイルを Power Automate で作成する。

まとめ

スクレイピングとは?

本記事の後半で紹介するフローで行う、 スクレイピング とはなにかを説明します。

正式には「 Web スクレイピング 」という名称で、 クローリング とも呼ばれる技術・行為です。
Webで用いられているプログラミング言語、HTMLの中身を分解し、必要な情報だけを取り出し、適切な形式に整形する手法です。Web上に公開されている情報の中から、選択した特定の情報だけを抽出することが特徴です。マーケティング分析のための情報収集や、サービス比較のために情報を自動で抜き出すことができます。

ホームページ上の情報を削りとるように収集することから、 スクレイピング と呼ばれています。

 とても便利な技術である反面、利用規約等で明確に禁止されている場合があります。
 行う際はサイトの利用規約等を充分調べてから行ってくださいね。

スクレイピング を活用してどんなことができるのか

スクレイピング を使って情報を収集したりWeb分析を行うとどのような効果があるのでしょう?

それは、WEBサイトから、ショッピングサイトのレビューや、検索結果までさまざまな物を取得できるという効果です。

例えば、新商品を販売する際の価格帯を検討したり、イベントや実績をまとめ、考察・検討したりする時など、様々な状況で情報が必要になります。
スクレイピング を用いることで、情報収集にかけていた時間を考察や検討の時間に充てることができるようになり、マーケティングをより効率的に、素早く展開することが可能になります。

Power Automate を用いたWEB情報一覧作成フロー

 ここからは、 Webページ からデータを抽出し、 Excel にまとめる動作を自動化するフローを解説します。
 今回の フローでは、弊社サイトのコラム一覧から情報を取得して、 Excel に保存するフローを作成します。①~③が概要手順です。

⓪:事前準備
①: WEB情報 を取得するサイトにアクセスする。
②:ページから情報を取得する。
③:①・②で取得したデータを元に Excel ファイルを作成する。

 
 PowerAutomate の作成フローイメージ

図1 WEB情報一覧作成フローイメージ

画像クリックで拡大表示

今回作成するフローの全体図です。
イメージとして頭の片隅に置いておいてください。

 PowerAutomate の画面今回作るフローの全体図

図2 WEB情報一覧作成フロー全体図

画像クリックで拡大表示

⓪:事前準備

出力用Excelファイルを作成する

事前準備として、保存先となる Excel ファイルを作成します。 Excel ファイルを新規作成して、A、B、C列に「タイトル」「日付」「説明文」と記入します。
名前を付けてわかりやすい場所に保存しておきましょう。

Excelの見本 1行目A列から「タイトル」「日付」「説明文」と記載されている

図3 Excel見本

画像クリックで拡大表示

Power Automate で「 ブラウザー拡張機能 」をダウンロードor有効にする

次に、フロー作成画面に入り、左上のタブから、「ツール→ ブラウザー拡張機能 」を開き、いつも使っているブラウザの名前をクリックしてください。出てきたウィンドウで拡張機能をブラウザにインストールして、準備完了です。

当記事では、Google Chromeを使っていますが、フローを対応したものにすれば別のブラウザでも動作します。

 PowerAutomate のブラウザー拡張機能の設定方法

図4 拡張機能追加画面

ポイントとなる Power Automate のフローコード

本記事では、「Webページから情報を抽出する」アクションを主に用いて、 UI要素 を中心とした自動化を解説していきます。

UI要素 とは

 UI要素 は、 Webページ や アプリケーション からUIの情報を抽出できる機能です。
 Webページやアプリケーションは主にHTMLやCSSといったプログラムで構成されており、それらの中に書き込まれている情報を抽出する機能です。

 Webだけでなく、一部のデスクトップアプリにも使用することができます。

UI要素ピッカーのイメージ

図5 ”UI要素ピッカー”で2ページボタンを選択しているイメージ

画像クリックで拡大表示

①: WEB情報 を取得するサイトにアクセスする。

Webブラウザーインスタンスにはインスタンスとして取得したブラウザの変数を選択します。「新しい(ブラウザ名)を開く」アクションを追加すると、インスタンスを取得することができます。

今回は、当サイトのコラム一覧を使うため、初期URLをコラム一覧にしておきましょう

PowerAutomate 「新しいChromeを起動する」のアクション詳細。初期URL欄にコラム一覧のURL

図6 「新しいChromeを起動する」のアクション詳細

画像クリックで拡大表示

②:ページから情報を取得する。

「 Webページからデータを抽出する 」で情報を抽出してみる

情報を読み取るためには、「 Webページからデータを抽出する 」のアクションを選択しましょう。


このフローの出力変数は「%DataFromWebPage%」になります。覚えておきましょう。

PowerAutomate 「Webページからデータを抽出する」画面

図7 「Webページからデータを抽出する」のアクション詳細

画像クリックで拡大表示


インスタンスを選択する場所の下に、「このダイアログが開いている間に、実際のWeb ブラウザー ウィンドウをフォアグラウンドに表示すると、ライブWeb ヘルパーがアクティブ化されます」と書いてあるので、ブラウザを立ち上げてみましょう。

前面にブラウザを表示すると、ライブWebヘルパーが自動的に立ち上がります。立ち上がらない場合は、少し待つか、何度か試してみてください。
このライブWebヘルパーは、Webページから情報を抽出する際に私たちを手伝ってくれるウィンドウです。早速要素を選んで抽出してみましょう。

抽出したい部分にカーソルを合わせると、赤い枠線が表示されます。
その状態で右クリック→要素の値を抽出で、抽出する値を選択することができます。
この動作を取得したい情報の部分に行っていくことで、簡単にデータとして要素の値を取得することができます。

PowerAutomate ライブWebヘルパーの抽出一連動作のイメージ図

図8 ライブWebヘルパーの抽出プレビュー

画像クリックで拡大表示

また、読み取りたいページの枚数が決まっている時は、次ページに進むボタンを「要素をページャーとして設定」で抽出すると、自動で指定したページ数分の抽出を行います。今回は、4ページとしました。

PowerAutomate 要素をページャーとして設定のイメージ図

図9 ページ最大数指定のプレビュー

画像クリックで拡大表示

ブラウザを閉じる

無事、要素から情報を抽出することができたので、
ブラウザを閉じてもらいましょう。「Webブラウザーを閉じる」アクションを選択し、ブラウザーインスタンスを選択すれば、自動で立ち上げ、閉じる動作まで行ってくれるようになります。

PowerAutomate 「Webブラウザーを閉じる」アクションの詳細画面

図10 「Webブラウザーを閉じる」ウィンドウ

画像クリックで拡大表示

③:①・②を元に取得したデータを元にExcelファイルを Power Automate で作成する。

Excel ファイルに書き込み処理を行う

早速 Excel ファイルに書き込んでみましょう。
「Excelの起動」アクションを開いて、起動方法を次のドキュメントを開くに設定します。

事前準備の際に作成したファイルのURLを、ドキュメントパスに書き込みます。

PowerAutomate  「Excelの起動」のアクション詳細画面

図11 「Excelの起動」のアクション詳細

画像クリックで拡大表示
Excelワークシートに抽出した値を書き入れる

「Excelワークシートに書き込む」アクションを開き、「Webページからデータを抽出する」で抽出した情報が入っている変数「%DataFromWebPage%」を書き込む値の欄に書き込みます。
書き込みモードは指定したセル上に設定し、列「A」行「2」とします。

「Webページからデータを抽出する」で抽出した情報はデータテーブル型になっているので、一個のセル座標で問題ありません。

PowerAutomate 「Excelワークシートに書き込む」の詳細画面

図12 「 Excel ワークシートに書き込む」のアクション詳細

画像クリックで拡大表示
保存ファイル名設定

次回出力の際に上書き保存されてしまわないように一意な名前を生成します。

「現在の日時を取得」し「datetimeをテキストに変換」を使うことで、ファイル名に年月日時分秒を付与しています。「datetimeをテキストに変換」はカスタム形式とし”yyMMddhhmmss”を指定しています。

PowerAutomate 日付の表記をカスタムにして保存のイメージ

図13 日付の表記をカスタムにして保存のイメージ

画像クリックで拡大表示
Excelファイルを保存して閉じる

「Excelを閉じる」アクションを追加します。
名前を付けてドキュメントを保存を選び、ドキュメントパスに、起動の際に入れていたURLを入れましょう。

また、テキストに変換したdatetimeの変数「%FormattedDateTime%」を「コラム更新」と「.xlsx」の間に入れることで、保存する名前を出力タイミングで変えることができます。

PowerAutomate 「Excelを閉じる」の詳細画面

図14 「Excelを閉じる」のアクション詳細

画像クリックで拡大表示

最後に、保存して実行してみましょう。

Excel出力実行後イメージ

図15 出力例

画像クリックで拡大表示

いかがでしたか?

応用すれば、様々なサイトの情報を自動でまとめることができるようになります。ぜひ活用してみてください!

まとめ

 WEBページ から データを抽出し、 Excel にまとめることができました。まとめた情報は、Webマーケティングに活用してみたり、傾向分析などに用いることができます。
 また、応用次第では特定の情報だけ取得することもできるので、休憩中・退勤後に自動で情報収集を行うことができます。
あなたも Power Automate for Desktop を導入し、 よりよい効率化を図るために、 スクレイピング をしてみませんか?