EzRobotはシンプルな機能と分かりやすい操作方法で、RPAにはじめて触れる方やプログラミング未経験者でもすぐに扱えるRPAです。
しかし、できる事が少ないわけではありません。やり方次第で高度な処理を行う事は十分可能です。
特に拡張機能を使用することで難しい処理もより手軽に行うことができます。
本コラムでは、拡張機能の実際の使用例をもとに、具体的にどのようなことができるか解説いたします。
例えば、
「毎日どこかのウェブサイトを確認し、更新されているかどうかをチェックする」
という業務を行っている方も多いのではないでしょうか。
このようなときは、拡張機能「ファイル比較(ハッシュ値)」を使用することで、簡単に自動化が可能です。
今回はウェブサイトの更新をチェックするロボットについてご紹介します。
目次
拡張機能とは
拡張機能管理画面
拡張機能とは、EzRobotに標準で搭載されている機能とは異なり、必要な機能を別途ユーザーサイトからダウンロードし、EzRobotにインポートすることで使用することができるしくみです。
拡張機能の一番のメリットは、基本機能では複雑になってしまう操作をシンプルに行える点です。また、一部基本機能では不可能な操作も行う事が可能です。
拡張機能の詳しい解説はこちらをご参照ください。
拡張機能ファイル比較(ハッシュ値)について
今回のシナリオでは拡張機能の一つであるファイル比較(ハッシュ値)を使用しています。
ハッシュ値とは元になるデータから一定の計算手順により求められた数字です。
同じデータからは同じハッシュ値ができますが、少しでもデータが違う場合、ハッシュ値はまったく違ったものとなります。
そのため、ハッシュ値を比較することでデータが同じものかどうかを調べることができます。
ファイル比較(ハッシュ値)では、比較したい2つのファイルについて指定することで、比較の結果を変数に返すことができます。
比較の結果、2つのファイルが一致しているときは〇、一致していないときは×となります。
ウェブサイト更新チェックロボットの概要
それでは、今回解説していくロボットについて概要を説明いたします。
このロボットの目的は「毎日、任意のウェブサイトが更新されているかをチェックし、更新されていた場合にはメールを担当者に送信する」ことです。
処理のポイントとしては、ウェブサイトの更新をどのように確認するかになります。
手動でウェブサイトの更新のチェックをしたいときは、業務開始時にウェブサイトを開き、一つ一つページを確認していくか、サイトのUPDATE情報を確認します。もしくはRSSが配信されているサイトであればRSSの情報を確認するのがよいでしょう。
RSSが配信されているサイトであれば、RSSを取得し更新内容を確認する方法が最も確実で手間がありません。
今回はこういったRSSが配信されているサイトではなく、配信されていないサイトに対して更新されているかどうか判定を行うケースを想定します。
大まかな処理は以下になります。
1)Webサイトをブラウザで開く
2)Webサイトの内容を前日のチェック時と比較する
3)更新されていた場合はメールを担当者に送信する
2)では前日のチェック時の内容との比較になる為、前日のチェック時の内容を予め記録し保存しておく必要があります。そのため、今回はWeb関連の基本機能のひとつである「HTMLソース取得」を用いてウェブサイトのソースを取得しテキストファイルに貼り付けることにします。
そのテキストファイルを前日分と当日分の二つ用意することで比較を行い、更新されているかチェックを行います 。
なお、行いたい作業の性質上、ロボットは継続的に実行する必要があります。
継続してロボットを動す場合は、Windowsの標準機能であるタスクスケジューラでロボットを自動で実行するよう設定を行う事で対応します。
ロボットに必要なファイル
準備するものは以下の通りです。
・ロボット本体
・HTMLコード当日分のテキストファイル
・HTMLコード前日分のテキストファイル
ロボットの全体の流れ
次に、処理の流れは以下のようになっています。
1. HTMLコード前日分のテキストファイルの中身をクリア
2. HTMLコード当日分のテキストファイルの内容を前日分にコピーアンドペースト
3. 任意のウェブサイトを開く
4. ウェブサイトのHTMLソースを取得する
5. 取得したHTMLソースを当日分のテキストファイルにペーストする
6. 前日分と当日分のテキストファイルのハッシュ値を比較する
7. ファイルが一致しなかった場合、メールの送信を行う
8. ファイルが一致した場合、何も処理を行わない
9. ロボットを終了する
それではそれぞれの処理を詳しく見ていきましょう。
各処理の詳しい流れ
HTMLコード前日分のテキストファイルの中身 ・・・前々日の内容
HTMLコード当日分のテキストファイルの中身 ・・・前日の内容
ロボット実行前の状態では、それぞれのテキストファイルには前日のロボット実行の結果が残ったままになっています。前々日の内容がHTMLコード前日分のテキストファイルに、前日の分がHTMLコード当日分のテキストファイルに。その為、一旦前日の内容をHTMLコード前日分のテキストファイルに移し替える必要があります。
1. HTMLコード前日分のテキストファイルの中身をクリア
2. HTMLコード当日分のテキストファイルの内容を前日分にコピーアンドペースト
上記処理を行ない、前日分のテキストファイルに前日の内容を移し替えます。
3.任意のウェブサイトを開く
4.ウェブサイトのHTMLソースを取得する
5.取得したHTMLソースを当日分のテキストファイルにペーストする
ブラウザを開き、基本機能「HTMLソース取得」を使用して最新のHTMLソースを取得し、当日分のテキストファイルに貼り付けを行います。
6.前日分と当日分のテキストファイルのハッシュ値を比較する
ここで拡張機能「ファイル比較(ハッシュ値)」を使用します。
前日分のテキストファイルの中身と当日分のテキストファイルの中身が完全に一致しているかどうか判定を行います。一致していれば更新されているとロボットは判断し、一致していなければ更新されていないと判断します。
7. ファイルが一致しなかった場合、メールの送信を行う
8. ファイルが一致した場合、何も処理を行わない
9.ロボットを終了する
ハッシュ値の比較結果をもとに、処理を分岐させます。一致しなかった場合更新されたということで担当者にメールを送信します。一致した場合は何も行わず処理を終了します。
ウェブサイト更新チェックロボットの応用方法
今回の事例ではウェブサイトが更新されていた場合、担当者にメールで知らせるという処理を行いました。
しかし応用としてそれ以外の処理を行うことも可能です。
例えば
・チャットワークやSlackなど社内のコミュニケーションツールに通知を行う
・更新されたウェブサイト上で行いたい処理を行う
例:不動産の物件リストが更新されていた場合、物件情報の取得を行う
といった作業を行うことも可能です。
まとめ
以上でウェブサイト更新チェックロボットの解説について終了します。
今回のロボットのポイントとしては、
・Web-その他の操作「Webソース取得」により、ウェブサイトのHTMLソースを取得することができる
・拡張機能の「ファイル比較(ハッシュ値)」により、HTMLソースの比較を行う
・条件分岐を用いることで、比較の結果をもとに処理を変更する
という点です。
今回解説したロボットはユーザーサイト(契約者向け情報サイト)にて、サンプルとしてダウンロードすることが可能です。
是非ロボットの作り方の参考にしていただければと思います。
最後に
RPA EzRobotは【低価格・劇的にカンタン・手厚いサポート】が特徴のRPA製品です。
「どのようにレシピを組めば良いかわからない」といった際でも、サポート(電話/チャット/メール/Web会議等)にてご相談を承っております。
また、弊社にて作成済のレシピ(シナリオ)を無料でダウンロードして微調整のみですぐに使うことが可能です。(こちらは契約者様向けサポートサイト「EzRobotユーザーサイト」からダウンロードできます。)
是非、お気軽にお問合せください。