Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

【Power Automate Desktop使い方④】WebスクレイピングからExcel保存まで〜無料テキスト レッスン2・レッスン3〜

RPA HACKを運営するPeaceful Morning株式会社ではRPAツール「Power Automate Desktop」の無償提供を受け、同ツールの導入を検討されている方に向けて、ノウハウをまとめた教材を公開しました。この記事では、無料公開テキストの練習問題No.1であるデスクトップフォルダに保存されたテキストファイルに指定した内容を書き込むロボットの実装方法について解説します。テキストファイルに書き込むロボットの作成を通して、UI要素への理解を深めることができます。

▼無料公開テキストのダウンロードはこちら▼

※なお、こちらはPower Automate Desktopの導入を検討する企業、導入済みの企業担当者の方向けのテキストであるため、RPA導入支援、開発等のサービスを提供する同業他社の方のダウンロードはご遠慮くださいますようお願い申し上げます。

Power Automate Desktopとは

Power Automate Desktopとは世界最大手ソフトウェアベンダーであるマイクロソフトが開発・提供しているRPA(Robotic Process Automation)ソフトウェアです。
2021年3月2日にマイクロソフトはそれまで有料であったPower Automate DesktopをWindows 10ユーザー向けに無料提供することを公式発表しました。
Power Automate DesktopでローコードRPAを使用し日常業務を自動化することによって、私たち人間は高付加価値でクリエイティブな業務に専念することが可能となります。Power Automate Desktopについて詳しく知りたい方は以下の記事がおすすめです。

▼Power Automate Desktopの解説記事はこちら▼

▼Power Automate Desktopのインストール方法解説記事はこちら▼

Webスクレイピングとは

WebスクレイピングとはWebサイトから特定の情報を抽出することです。Webスクレイピングをすることでデータを簡単に集めることができます。ただし、Webサイトによっては規約上禁止をしている場合があります。そのためWebスクレイピングを行う場合は事前に規約の確認を必ず行ってください。 

スクレイピングを行うにあたり注意するポイント


スクレイピングの扱い方によっては違法になる場合があります。扱う際に覚えておいておいた方が良いポイントを3つご紹介します。

1.Webサイトの利用規約
Webサイト内の情報を取り扱う際、規約にスクレイピングを禁止している場合があります。
利用規約を事前に確認しておきましょう。

2.著作権法
Webサイトは著作物の扱いになるため同意なしに取り扱ってしまうと著作権法違反になる場合があります。無断で使用する場合は著作権の同意なしで私的使用又は情報解析を目的としている場合のみです。

3.Webサイトの妨害
Webサイトの取得の際、サーバーに負荷を与えてしまいます。サーバーの負荷によりサイトにアクセスできなくなってしまうなどの妨害行為を与えてしまう場合があるので注意が必要です。

Webレコーダー

Webレコーダーとは画面収録を行う操作です。レコーダー機能を使うことでフローを簡単に作成することが可能となります。

サイトの情報を抽出するロボットの作成

それでは、WebレコーダーとExcelのデータ操作を行いながら、サイト情報を抽出するロボットの作成に取り掛かります。無料公開テキストの「レッスン2.データ操作」と「レッスン3.レコーディング」までをご一読いただくことをおすすめします。

事前準備

事前準備として、Google Chromeを開いて「RPAHACK」を開いてください。Google Chrome以外で開いているアプリがある場合は全て閉じてください。複数のアプリを開いているとロボットが正常に動作しない場合があります。
Google Chromeだけ開いている状態になりましたらPower Automate Desktopを開き、新規フローを作成してください。
※データを抽出するサイトはスクレイピングをしても問題ないか予め確かめておきましょう。 

Webレコーダーの起動

ファイルを作成したら「Main」の左上にあるWebレコーダー(🌐マーク)を選択します。

ブラウザ設定

「使用するWebブラウザーインスタンスを設定」と出てきてブラウザ選択があります。
今回はChromeを選択します。

起動先URLの確認

事前準備で開いていた「RPAHACK」を開いておくとWebブラウザーの起動のアクションが記録されます。起動Chrome 移動先がRPAHACKのURLになっていることを確認しましょう。記録されたアクションはレコードを始めると自動的にアクションを追加してくれます。確認が完了したらレコードを開始します。

録画開始

Webレコーダーのレコード機能で録画を開始していきます。
「RPAHACK」の検索バーから「Power Automate Desktop」と検索していきます。
検索する際、赤い線で囲われていることを確かめます。
もし、赤い線で囲われていなかった場合はレコードが上手く動作していない可能性があります。確認する方法はWebレコーダーの記録されたアクションから確認することが可能です。

検索をすると以下のような画面が表示されます。

Power Automate Desktop関連の記事が表示されます。今回はタグと日付のデータを抽出していきます。タグ名のところにカーソルをあてると<a>の赤い線で囲われます。<a>で囲われた状態で右クリックして、「要素の値を抽出」→「テキスト:(‘Power Automate’)」を選択します。ここまで完了すると実行時に自動的にタグのデータが抽出されるようになります。

次は日付の抽出です。ただし、先ほどは<a>の赤い線で囲われていましたが今回は日付を抽出するため<time>となります。先ほどタグの抽出を行いましたが日付も同様の操作をすることで可能となります。<time>で囲われたところを右クリックして、「要素の値を抽出」→「テキスト:(‘2021年7月16日’)」を選択します。選択し終えたら日付の抽出の準備が完了となります。

作成したフローを実行

レコードしたものに動作するか試してみましょう。Webレコーダーの起動~録画開始まで正しく操作が行えていれば下記のようなフローになります。

上記画像の1と6のコメントは削除しても問題ありません。これからは削除した形で解説していきます。今回、変数はOutputDataに保存されるように設定しています。変数の保存先はフローをクリックすると変更することが可能です。

エラーが出なければ上記画像のようになります。変数→フロー変数→OutputDataをクリックすると変数の値が表示され、抽出できていることが確認できます。

Excelにデータを書き込み

先ほど抽出したデータをExcel内に書き込む方法をご紹介します。まず初めにExcelを起動させます。Excelのファイル名はrpa.xlsxとします。Excel起動後、1行目のA・B・Cのセルにタイトル、タグ、日付と入力していきます。あらかじめ、抽出する記事タイトルを記載しておきます。

rpa.xlsxのファイルに先ほど抽出したデータを入れたいので「アクション」→「Excelの起動」をフローの初めに置きます。

「アクション」→「Excelワークシートから読み取り」をExcelの起動の下に置きます。
Excelインスタンスは何もいじらず、取得のところを「単一セルの値」から「セル範囲の値」に変更しましょう。単一セルの値は1つのデータを抽出するさいに使いますが、今回は2つのデータ抽出を行うため、セル範囲の値にします。先頭列を「1」、先頭行を「2」、最終列を「1」、最終行を「3」にして保存します。
この状態だと先頭の列に入力されてしまうため空の列を作成していきます。

「アクション」→「Excelワークシートから最初の空の列や行を取得」をExcelワークシートから読み取りの上に入れます。

データを複数回抽出する場合は「アクション」→「For each」を使います。For eachはループさせる役割があります。For eachを「新しいChromeを起動させる」の上に置きます。For eachを置くと自然とEndも表示されます。For eachの中にChromeの動作を入れる必要があるのでChromeを起動させる~データを抽出するまで入れます。

現在、「Webページ内のテキストフィールドに入力する」アクションで検索キーワードを複数の記事のタイトルでも検索できるようにします。テキストの中を見るとPower Automate Desktopとなっていますが、Excel内に記載してある記事のタイトルでも検索できるようにします。まず、「Power Automate Desktop」を消し、Currentitem[0]と入力し、保存します。Currentitem[0]はExcelDataの1列目を示します。

Chromeのタブをたくさん開きたくない人は「アクション」→「Webブラウザーを閉じる」をWebページからデータを抽出するの下に入れます。

変数の設定

続いて、変数の設定を行います。変数の設定を開き、設定がNew Varになっています。New Varの宛先を2にします。
そしてこの中にExcelに書き込む動作を追加します。「アクション」→「Excelワークシートに書き込み」を選択します。書き込む値は「ExcelData」を選択し、2列目から書き込むため「2」と入力します。行は「2」と入力するのではなく、先ほどNew Varの宛先で2を設定したのでNew Varと入力します。

最後に「Webブラウザーを閉じる」の下に「変数の設定」を行います。

宛先がNewVarになっていますが、New Var +1にしてください。+1をすることにより検索のループができるようになります。

抽出したデータをExcelに自動で入力される準備はできたので動かしてみましょう。

上記画像が完成したフロー図になります。

Power Automate Desktopを使ってExcelにデータを入れた結果がこちらです。

タグと日付が上手く入力されています。今回は2つの記事でやってみましたが3つ、4つたくさんのデータを抽出することができます。

Power Automate Desktopについてより詳しく知りたい方へ

RoboRunnerスクールのご紹介

この記事を読んでPower Automate Desktopについて詳しく知りたいと思った方には、当社が提供しているPower Automateの有料オンライン学習プログラム「Robo Runnerスクール」がおすすめです。こちらのプログラムでは、Power Automate Desktopの使い方の学習はもちろんのこと、Power AutomateとPower Automate Desktopを組み合わせたフローなど、あなたの作りたいフロー制作のサポートをします。

Robo Runnerスクールでは経験豊富な現役エンジニアがメンターとして学習のサポートを行います。メンターとともに学習スケジューリングや目標設定を行い、効率よく学習できるオリジナルのトレーニングテキストを使って自習をしつつ、途中で分からないことはチャットサポートで気軽にメンターに質問することで、Power Automateの学習効果を最大化することを目指します。

▼詳細・申し込みはこちら▼

e-learningのご紹介


マイクロソフト社によるRPAツール「Power Automate Desktop」の提供を受け、同ツールの研修サービス「Robo Runner e-ラーニング」の提供を開始しました。e-ラーニングはPower Automate、Power Automate Desktopの導入検討中、導入済の企業様において、基礎研修をリーズナブルな価格でご受講いただくことができます。

e-ラーニングは現役のPower Automateエンジニアによる監修・演習問題で手を動かしながら学べる・いつでも、どこでも好きなタイミングで受講が可能という3つの特徴を持ち、プログラミング経験のない方でも受講いただける内容となっています。

e-learningに関する記事↓

e-learning申し込みはこちらから↓
https://roborunner-e-learning.studio.site/

RPAの導入に踏み出そう

Power Automate DesktopはWebレコーダー機能を使って普段通りの操作を行うことでロボットを作成することが可能になります。
これまで「RPAってよく分からない、難しそう」と感じていた方も、、この記事を読んでRPAの手軽さを体感し、その導入に踏み出していただければと思います。

この記事を読んだ方には次の記事がオススメです。

Power Automate Desktopの使い方解説記事

Power Automateの使い方解説記事

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です