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 ユーザーは無料でこの自動化ツールを使うことができます。 新しくインストールが必要な場合については、Microsoft社のページに詳しく記載があります。
なお、以下のページで、サンプルフローの取得が可能です。実際のサンプルを見たり、動かしながら確認してみたいという方は、下記も参照してみてくださいね。
目次
スクレイピングとは?
スクレイピングを活用してどんなことができるのか
Power Automate を用いたWEB情報一覧作成フロー
⓪:事前準備
①:WEB情報を取得するサイトにアクセスする。
②:ページから情報を取得する。
③:①・②を元に取得したデータを元にExcelファイルを Power Automate で作成する。
まとめ (FAQ )
スクレイピングとは?
本記事の後半で紹介するフローで行う、 スクレイピング とはなにかを説明します。
正式には「 Web スクレイピング 」という名称で、 クローリング とも呼ばれる技術・行為です。
Webで用いられているプログラミング言語、HTMLの中身を分解し、必要な情報だけを取り出し、適切な形式に整形する手法です。Web上に公開されている情報の中から、選択した特定の情報だけを抽出することが特徴です。マーケティング分析のための情報収集や、サービス比較のために情報を自動で抜き出すことができます。
ホームページ上の情報を削りとるように収集することから、 スクレイピング と呼ばれています。
とても便利な技術である反面、利用規約等で明確に禁止されている場合があります。
行う際はサイトの利用規約等を充分調べてから行ってくださいね。
スクレイピング を活用してどんなことができるのか
スクレイピング を使って情報を収集したりWeb分析を行うとどのような効果があるのでしょう?
それは、WEBサイトから、ショッピングサイトのレビューや、検索結果までさまざまな物を取得できるという効果です。
例えば、新商品を販売する際の価格帯を検討したり、イベントや実績をまとめ、考察・検討したりする時など、様々な状況で情報が必要になります。
スクレイピング を用いることで、情報収集にかけていた時間を考察や検討の時間に充てることができるようになり、マーケティングをより効率的に、素早く展開することが可能になります。
Power Automate を用いたWEB情報一覧作成フロー
ここからは、 Webページ からデータを抽出し、 Excel にまとめる動作を自動化するフローを解説します。
今回の フローでは、弊社サイトのコラム一覧から情報を取得して、 Excel に保存するフローを作成します。①~③が概要手順です。
⓪:事前準備
①: WEB情報 を取得するサイトにアクセスする。
②:ページから情報を取得する。
③:①・②で取得したデータを元に Excel ファイルを作成する。
図1 WEB情報一覧作成フローイメージ
今回作成するフローの全体図です。
イメージとして頭の片隅に置いておいてください。
図2 WEB情報一覧作成フロー全体図
⓪:事前準備
出力用Excelファイルを作成する
事前準備として、保存先となる Excel ファイルを作成します。 Excel ファイルを新規作成して、A、B、C列に「タイトル」「日付」「説明文」と記入します。
名前を付けてわかりやすい場所に保存しておきましょう。
図3 Excel見本
Power Automate で「 ブラウザー拡張機能 」をダウンロードor有効にする
次に、フロー作成画面に入り、左上のタブから、「ツール→ ブラウザー拡張機能 」を開き、いつも使っているブラウザの名前をクリックしてください。出てきたウィンドウで拡張機能をブラウザにインストールして、準備完了です。
当記事では、Google Chromeを使っていますが、フローを対応したものにすれば別のブラウザでも動作します。
図4 拡張機能追加画面
ポイントとなる Power Automate のフローコード
本記事では、「Webページから情報を抽出する」アクションを主に用いて、 UI要素 を中心とした自動化を解説していきます。
UI要素 とは
UI要素 は、 Webページ や アプリケーション からUIの情報を抽出できる機能です。
Webページやアプリケーションは主にHTMLやCSSといったプログラムで構成されており、それらの中に書き込まれている情報を抽出する機能です。
Webだけでなく、一部のデスクトップアプリにも使用することができます。
図5 ”UI要素ピッカー”で2ページボタンを選択しているイメージ
①: WEB情報 を取得するサイトにアクセスする。
Webブラウザーインスタンスにはインスタンスとして取得したブラウザの変数を選択します。「新しい(ブラウザ名)を開く」アクションを追加すると、インスタンスを取得することができます。
今回は、当サイトのコラム一覧を使うため、初期URLをコラム一覧にしておきましょう
図6 「新しいChromeを起動する」のアクション詳細
②:ページから情報を取得する。
「 Webページからデータを抽出する 」で情報を抽出してみる
情報を読み取るためには、「 Webページからデータを抽出する 」のアクションを選択しましょう。
このフローの出力変数は「%DataFromWebPage%」になります。覚えておきましょう。
図7 「Webページからデータを抽出する」のアクション詳細
インスタンスを選択する場所の下に、「このダイアログが開いている間に、実際のWeb ブラウザー ウィンドウをフォアグラウンドに表示すると、ライブWeb ヘルパーがアクティブ化されます」と書いてあるので、ブラウザを立ち上げてみましょう。
前面にブラウザを表示すると、ライブWebヘルパーが自動的に立ち上がります。立ち上がらない場合は、少し待つか、何度か試してみてください。
このライブWebヘルパーは、Webページから情報を抽出する際に私たちを手伝ってくれるウィンドウです。早速要素を選んで抽出してみましょう。
抽出したい部分にカーソルを合わせると、赤い枠線が表示されます。
その状態で右クリック→要素の値を抽出で、抽出する値を選択することができます。
この動作を取得したい情報の部分に行っていくことで、簡単にデータとして要素の値を取得することができます。
図8 ライブWebヘルパーの抽出プレビュー
また、読み取りたいページの枚数が決まっている時は、次ページに進むボタンを「要素をページャーとして設定」で抽出すると、自動で指定したページ数分の抽出を行います。今回は、4ページとしました。
図9 ページ最大数指定のプレビュー
ブラウザを閉じる
無事、要素から情報を抽出することができたので、
ブラウザを閉じてもらいましょう。「Webブラウザーを閉じる」アクションを選択し、ブラウザーインスタンスを選択すれば、自動で立ち上げ、閉じる動作まで行ってくれるようになります。
図10 「Webブラウザーを閉じる」ウィンドウ
③:①・②を元に取得したデータを元にExcelファイルを Power Automate で作成する。
Excel ファイルに書き込み処理を行う
早速 Excel ファイルに書き込んでみましょう。
「Excelの起動」アクションを開いて、起動方法を次のドキュメントを開くに設定します。
事前準備の際に作成したファイルのURLを、ドキュメントパスに書き込みます。
図11 「Excelの起動」のアクション詳細
Excelワークシートに抽出した値を書き入れる
「Excelワークシートに書き込む」アクションを開き、「Webページからデータを抽出する」で抽出した情報が入っている変数「%DataFromWebPage%」を書き込む値の欄に書き込みます。
書き込みモードは指定したセル上に設定し、列「A」行「2」とします。
「Webページからデータを抽出する」で抽出した情報はデータテーブル型になっているので、一個のセル座標で問題ありません。
図12 「 Excel ワークシートに書き込む」のアクション詳細
保存ファイル名設定
次回出力の際に上書き保存されてしまわないように一意な名前を生成します。
「現在の日時を取得」し「datetimeをテキストに変換」を使うことで、ファイル名に年月日時分秒を付与しています。「datetimeをテキストに変換」はカスタム形式とし”yyMMddhhmmss”を指定しています。
図13 日付の表記をカスタムにして保存のイメージ
Excelファイルを保存して閉じる
「Excelを閉じる」アクションを追加します。
名前を付けてドキュメントを保存を選び、ドキュメントパスに、起動の際に入れていたURLを入れましょう。
また、テキストに変換したdatetimeの変数「%FormattedDateTime%」を「コラム更新」と「.xlsx」の間に入れることで、保存する名前を出力タイミングで変えることができます。
図14 「Excelを閉じる」のアクション詳細
最後に、保存して実行してみましょう。
図15 出力例
いかがでしたか?
応用すれば、様々なサイトの情報を自動でまとめることができるようになります。ぜひ活用してみてください!
【エンジニア募集中!】
Microsoft365やCopilot、Power Platformに
あなたの魅力を組み合わせて未来を創造しませんか!
まとめ ( FAQ )
WEBページ から データを抽出し、 Excel にまとめることができました。まとめた情報は、Webマーケティングに活用してみたり、傾向分析などに用いることができます。最後に本記事の内容を、FAQ形式でまとめます。
1.スクレイピングとは何ですか?
Webページから必要な情報を抽出し、適切な形に整形する技術です。マーケティング分析やサービス比較のために情報を自動で収集することができます。なお、利用規約で禁止されている場合があるため、注意が必要です。
2.スクレイピングを使った、 Power Automate for Desktop の具体的なフローはどのようなものですか
具体的には、Webページにアクセスし、情報を取得し、取得したデータをExcelファイルに保存する手順を実現するフローがあります。
3.スクレイピング を利用にあたって注意すべき点は何ですか?
サイトの利用規約を確認し、違反しないように注意することが重要です。また、取得したデータについて、適切なデータ管理とセキュリティ対策も行いましょう。