Power Automateを動画で学ぼう!Udemyキャンペーン中

Power Automate DesktopでWebサイトからページングしながらデータを取得する。

目次

無料で誰でもWebスクレイピング♪

Power Automate Desktopを使って、複数ページにわたるWebサイトのデータを取得する方法について解説します。

じょじお

Power Automate Desktopならページャーが使われたWebページでも無料で簡単に巡回できます。CSSやHTMLなどのWeb技術の知識も不要です。(Webサイトによります。)

ページャーが設置されたWebサイト
ページャー(ページネーション)が設置されたWebサイト

はじめにお読みください!

一般公開されているWebサイトでも、自動でWebサイトの情報を取得することを禁止しているWebサイトもあります。

ご利用の際は、事前に各Webサイトのrobots.txtなどを確認して違反にならない範囲で活用してください!

前提条件

この記事の内容は下記の条件で作成・検証を行っています。

  • PCにPower Automate Desktopがインストールされている。
  • ブラウザに、Power Automate Desktop用拡張機能がインストールされている。(この記事ではMicrosoft Edgeを使用)

拡張機能のインストール方法については前の記事を参考にしてみてください。

Power Automate Desktopで作成するフロー

この記事で作成するフローの全体図です。

  1. テスト用Webサイトから、全記事の記事タイトル・記事のURLを取得取得します。
  2. テスト用Webサイトは1ページにつき5記事が9ページあります。全ページ分のデータを取得します。
論理図
Power Automate Desktopフロー完成図
Power Automate Desktopフロー完成図

Power Automate Desktopでフローを作成する

STEP
新規フローの作成

▼フローを作成します。

Power Automate Desktopを起動してフローを作成します。

power automate desktop新規フロー作成

▼フロー名を入力し作成をクリックします。

Power Automate Desktopフロー名を設定する
STEP
ブラウザを起動するアクションを追加

▼「新しいMicrosoft Edgeを起動する」を追加します。

Webブラウザを起動するアクションの追加

▼パラメータを入力します。

Webブラウザを起動するアクションのパラメータ
  • 起動モード:
    • 新しくブラウザを開くか、開いてあるブラウザを使うかどうかの設定です。ここでは「新しいインスタンスを起動する」を選択します。
  • 初期URL
    • ターゲットになるWebサイトのURLを「https://〇〇.com」のように入力します。
  • ウインドウの状態
    • ウインドウを表示するかどうか、表示する場合の画面サイズを選択します。
STEP
ブラウザを閉じるアクションを追加

▼「Webブラウザを閉じる」アクションを追加します。

Webブラウザを閉じるアクションの追加

▼パラメータはデフォルトで入力された値「%Brouser%」のまま変更せずに保存をクリックします。

ブラウザを閉じるアクション

「Webページからデータを抽出する」アクションの追加

STEP
一旦フローを実行してブラウザを開く

▼「アクションごとに実行」ボタンをクリックします。

アクションごとに実行

▼一番上のアクション「Microsoft Edgeを起動する」が実行されるので、この状態フローを停止させます。ブラウザは閉じないでください。

アクションを停止させる
STEP
「Webページからデータを抽出する」アクション を追加

▼「Webページからデータを抽出する」アクションを「Microsoft Edgeを起動する」アクションのうしろに追加します。

Webサイトのデータを抽出する

▼図の画面が表示されます。この画面を開いたまま先ほどフローが開いたブラウザに戻ります。

Webサイトのデータを抽出する

▼すると「ライブWebヘルパー」という画面が自動で開きます。

LiveWebヘルパー

この画面に、ページのどこを抽出するかを記録していきます。以前の記事で紹介したWebレコーダーに似ていますね。

ライブWebヘルパーの設定

STEP
ターゲットとなる要素「記事タイトル」の取得設定する。

▼まずは記事タイトルを抽出する設定を行います。

記事を一つ選び、記事タイトルにマウスカーソルをあわせて右クリック→「要素の値を抽出」→「テキスト」をクリックします。

要素からテキストの抽出
STEP
他の記事からも「記事タイトル」取得設定する。

▼となりの記事も同様に抽出設定を行います。

要素の抽出2

▼ここで「ライブWebヘルパー」を見てみましょう。

ライブWebヘルパー

2つの記事の情報を抽出しただけなのに、ページ内のすべての記事タイトルを認識してくれていますね!

じょじお

このように一定のルールで繰り返される要素は、2個だけ取得設定を行えば、同じ繰り返し要素をすべて取得できます

STEP
その他の取得したい要素も取得設定を行う。

▼わたしは記事URLも欲しいので記事URLを取得していきます。

hrefの取得

このWebサイトは記事タイトルのところが記事へのリンクになっているので、記事タイトルから抽出すればよさそうですね。記事タイトルを右クリック→要素の値を抽出→「Href」をクリックします。

▼まだ1個しかURLを抽出していませんが、ここでライブWebヘルパーを見てみましょう。

記事URLの取得

なんと1個しか抽出設定を行っていないのに、全部の記事URLを抽出対象にしてくれました。

そうなんです。2種類目の情報を取得するときは1回だけ設定すればいいんです。簡単ですね!

ライブWebヘルパーの「ページャーとして設定」を設定する。

ここまでで1ページの記事情報はすべて抽出できました。このWebサイトは9ページあるので、残りのすべてのページの情報も抽出していきます。

じょじお

こう聞くと不安になる方もいらっしゃると思いますが、安心してください。 PADならめちゃめちゃ簡単です。

STEP
ライブWebヘルパーでページャーを設定する。

▼ページャーの「Next」を右クリック→「ページャーとして設定」をクリックします。

ページャーとして設定

NextはWebサイトによって「次へ」だったり「>」だったりいろいろなUIデザインがあるかもしれません。Webページによって読み替えてください。

▼「ライブWebヘルパー」を確認します。

ページャーの登録確認

「次のページに対応する値」という文言が追加されていればOkです。

STEP
「ライブWebヘルパー」を閉じる。

ページャーの設定はこれだけです。取得したい情報の設定がすべて完了しました。「ライブWebヘルパー」画面を終了ボタンをクリックして閉じてください。

「Webページからデータを抽出する」アクションのパラメータを設定する。

STEP
「Webページからデータを抽出する」アクションのパラメータを設定する。

▽「ライブWebヘルパー」画面を閉じると下図の「Webページからデータを抽出する」アクションの設定画面に戻るかと思います。

Webサイトからデータを抽出するのパラメータを入力

図の「Webページからデータを抽出する」画面が開いたままかと思います。パラメータを入力して保存します。

  • データの抽出元
    • 何ページ分取得するか指定します。「すべて使用できます:全ページ取得」、「最初のみ:指定したページ分だけ取得」
  • データ保存モード
    • 抽出したデータを変数に保存するか、Excelに出力するかを選択します。
STEP
フローの完成

これでフローは完成しました。フローは保存して次項にてテストしてみましょう。

Power Automate Desktopフローの実行

じょじお

おつかれさまです!
以上でフローが完成しました。テストしてみましょう!

フロー実行結果

▲図のようにExcelが表示されました!

まとめ

いかがでしたでしょうか。たった3つのアクションで複数ページのデータを抽出することができました。

いろいろなWebサイト、社内システムで応用できるかと思いますので、是非試してみてください!

ノンプログラマーでも自動化スキルを身につける。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる