コラム - お役立ち情報

2022.04.20

【無料RPA】Power Automate Desktop(PAD)活用事例 Webページからデータを抽出しエクセルに転記

Webからのデータ収集も自動化の時代?

本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、Webページからデータを抽出しエクセルに転記する作業を自動化する方法を解説していきます。

※ Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
https://powerautomate.microsoft.com/ja-jp/desktop/

バックナンバー
【無料RPA】Power Automate Desktop(PAD)入門編 業務を自動化して作業を楽に~Part1~
【無料RPA】Power Automate Desktop(PAD)活用事例 メールの添付ファイルを自動保存

目次

1.今回のテーマ
 ・Webページの情報を自動的にExcelに転記させる
 ・自動化する作業
 ・Webページからデータを抽出する際の注意点
 ・処理の流れと使用するアクション
2.フローの作成
 ・全体図
  (1)Webページを開く
  (2)Webページからデータを抽出
  (3)Excelに転記
3.まとめ

1.今回のテーマ Webページの情報を自動的にExcelに転記させる

普段の業務の中で、資料作成を目的としてインターネットを利用したデータ収集の機会はどのような業種でもあることと思います。
中には、Webサイトからデータをコピーしてはエクセルに貼り付けてを繰り返したりすることもあるのではないでしょうか?


このデータ収集、条件がそろえば自動化できることをご存知でしょうか?
本コラムでご紹介するフローを応用することで、例えば、
 ・自治体内の公共機関リストを作成
 ・企業の事業所リストを作成
 ・周辺の競合リストを作成
などの作業を自動化することができます。

今回はPower Automate Desktopで、自動的にWebページからデータを抽出してExcelに転記する方法をご紹介します。
また、今回からは本コラムで紹介したフロー※を配布させていただきます。興味のある方はぜひダウンロードしてみてください。
(リンクはページの下部に設置してあります。)

※フローとは?
自動化した作業手順をまとめたものです。
詳しくはコチラ→https://www.ybco.co.jp/colum/power-automate-desktop2/


1.今回のテーマ 自動化する作業

今回作成するフローは、
 1. Webページを開く
 2. Webページからデータを抽出
 3. Excelに転記
という動作でできています
今回は弊社HPの会社概要ページの抽出を例にとって記載します。
何故これを選んだかというと、抽出しやすい形式のデータだからです。
というのは、表やリストの形式になっているデータは、同じ要素を繰り返し使用して描画されているため、規則性を持っています。
このように規則性を持って描画されているデータは比較的簡単に抽出することが出来ます。

   ↓の表を抽出し、Excelに転記します。


   転記した結果が↓です。

















実際に実行している映像がコチラ↓



1.今回のテーマ Webページからデータを抽出する際の注意点

一般に公開されているサイトでも自動でデータを収集することを禁止している場合があります。
PADを利用してデータを収集する場合はサイトの利用規約やサイト内に設置された「robots.txt※」をよく読み違反にならない範囲で活用してください。
 
※robots.txtとは?
ロボットからのアクセスを拒否する情報などが書かれたファイルです。
ファイル内で『Disallow』と書かれた行のURLからはデータを抽出しないようにしましょう。
基本的に、このファイルはWebサイトのトップページのURLに『/robots.txt』を付けると表示できます。

1.今回のテーマ 処理の流れを使用するアクション

今回作成するフローは3つの動作から構成されます。
 1. Webページを開く
 2. Webページからデータを抽出
 3. Excelに転記
 
これらの動作を以下のアクションで実現していきます。
 1. Webページを開く
  →[ブラウザー自動化]-[新しいChromeを起動する]
 2. Webページからデータを抽出
  →[ブラウザー自動化]-[Webデータ抽出]-[Webページからデータを抽出する]
 3. Excelに転記
  →[Excel]-[Excelワークシートに書き込み]
 
また、PADでアクション[ブラウザー自動化]を使用する場合、ブラウザー側の設定でPADを使用するための拡張機能を有効化する必要があります。
 Chromeの拡張機能を有効化する→ https://chrome.google.com/webstore/detail/microsoft-power-automate/gjgfobnenmnljakmhboildkafdkicala?hl=ja




2.フロー作成 全体図

↓はフローの完成図です。

コメントの次にアクションで何を行うのかを書いています。
アクションを配置する前にコメントを配置しておくことで処理の書き漏れを防げます。
 
それではフローを作成していきましょう※
※PADのインストールがまだの方はコチラから→https://flow.microsoft.com/ja-jp/desktop/
ページ下部の【無料でダウンロードする】をクリック

2.フロー作成 (1)Webページを開く


[ブラウザー自動化]-[新しいChromeを起動する]を選択し、【初期URL】に「https://www.ybco.co.jp/company/」を入力します。
 
生成される変数は名前を任意に変えることが出来ます。
アクション[新しいChromeを起動する]を実行する際に生成される変数は、初期値では[Browser]という名前になっています。[生成された変数]-[Browser]とクリックすると編集出来ますので、[GoogleChrome]という名前に変更してみましょう。※
※編集時に先頭と末尾に『%』がついていますが無視してしまって大丈夫です。
このアクションで生成される変数は、ブラウザーのウィンドウです。
この変数にURLを指定してページを移動したり、ウィンドウを閉じたり最大化したりといった操作ができます。

2.フロー作成 (2)Webページからデータを抽出


[ブラウザー自動化]-[Webページからデータを抽出する]を選択し、【Webブラウザーインスタンス】に変数[GoogleChrome]を指定します。
 
【データ保存モード】は「変数」と「Excelスプレッドシート」から選択できます。
「変数」を選択するとフローの中ですぐに使うことが出来ます。
「Excelスプレッドシート」を選択するとその場で新しいExcelブックを抽出したデータを貼り付けた状態で開いてくれます。
今回は抽出したデータをExcelに転記することが目標なので「Excelスプレッドシート」を選択します。Excelスプレッドシートは[ExcelInstance]に保存されます。

ここで抽出するデータを指定していきます。
まず、アクションの編集ウィンドウを開いた状態でブラウザーのウィンドウをクリックすると→の
ようなウィンドウが表示され、ブラウザー上で抽出するデータを選択できるようになります。
このウィンドウには抽出したデータのプレビューが表示されます。
 
さて、このモードになるとブラウザー上でカーソルを当てた要素が赤く囲われるようになります。
そして、赤く囲われた部分を右クリックすると抽出メニューが表示されます。
 
下の画像では会社概要の表の中でまずは項目名だけを抽出しようとしています。
表の「商号」が赤く囲われた状態で、
[右クリック]-[要素の値を抽出]-[テキスト]と指定します。
すると、抽出プレビューに「商号」が追加されます。

 
続いて、「代表者」が赤く囲われた状態で、先程と同様に[右クリック]-[要素の値を抽出]-[テキスト]と指定します。
すると、抽出プレビューに「代表者」以下の全ての項目名が追加されます。
同様の形式で要素が並んでいる場合、先頭の2つを指定することで自動的に残りの要素も取得してくれるのです。

全ての項目名が抽出できましたので、[終了]をクリックします。
 
次に、項目名の隣の値を抽出していきます。
項目名を取得したときと同じ流れで[ブラウザー自動化]-[Webページからデータを抽出する]を選択し、【Webブラウザーインスタンス】に変数[GoogleChrome]を指定します。
【データ保存モード】は「変数」を選択します。抽出されたデータは[DataFromWebPage]に保存され、後程Excelスプレッドシートに貼り付けます。
 

 
データを抽出する流れは項目名と全く同じですので割愛します。

 
ここまで来たらあと一歩です。

2.フロー作成 (3)Excelに転記


[Excel]-[Excelワークシートに書き込み]を選択し、【Excelインスタンス】に変数[ExcelInstance]を、【書き込む値】に変数[DataFromWebPage]、【書き込みモード】を「指定したセル上」、【列】「2」、【行】「1」と指定します。
 
最後に転記したExcelを保存します。
[Excel]-[Excelを閉じる]を選択します。

 
【Excelインスタンス】に変数[ExcelInstance]、【ドキュメントパス】に任意のファイル名を入力し(ここでは「会社情報」と入力します)保存をクリックします。
以上でフローの作成は完了です。

3.まとめ

今回は自動でWebページからデータを抽出する方法をご紹介しました。
このデータ抽出機能のすごいところは、Webページの形式さえ一致していれば別のURLでもデータを抽出できるところです。
データの自動抽出を規制していないサイトに限られますが、同じページレイアウトであればデータ抽出フローを1つ作るだけで大量のデータを自動で抽出できるようになります。
この機会にぜひチャレンジしてみてはいかがでしょうか?
 
フローのダウンロードはコチラ→https://fsh.ybcmap.net/6OGSc4zFBPEY759IDb2XuVyaNmCTLl
ダウンロードページにてこちらのパスワードを入力してください→『zkP1BYV8』
※ダウンロードしたフローはそのままでは実行できません。
※使用方法は1ヶ月以内に掲載予定です。
 
バックナンバー
【無料RPA】Power Automate Desktop(PAD)入門編 業務を自動化して作業を楽に~Part1~
【無料RPA】Power Automate Desktop(PAD)活用事例 メールの添付ファイルを自動保存