クラウド型のRPAである**『クラウドBOT』とiPaaSである『Integromat』**を活用し、定期的にWebサイトのキーワードの順位を取得し、スプレッドシートに記載するフローを自動化してみました。
#元々手作業で行っていた作業
1.キーワードの順位を検索できるサイト(SEOチェキ[https://seocheki.net] を使用)にアクセス
2.スプレッドシートから、キーワードを貼り付ける
3.表示された順位をコピー&ペーストでスプレッドシートに貼り付ける
頻度:1日1回(度々忘れる)
#自動化後(フローの流れ)
自動化のベースとなるフローはIntegromatで構築し、ブラウザ操作が必要となる部分をクラウドBOTに任せる形で実装しました。
Integromatのシナリオは2つに分離して、一連のフローを自動化しています。(分離した理由については後ほど記載します。)
###1つ目のシナリオ
1.スプレッドシートから対象のキーワードを取得[トリガー(毎朝9:00に実行)]
2.クラウドBOT(RPA)を実行し、キーワードの順位を調べる
###2つ目のシナリオ
1.クラウドBOT(RPA)が完了[トリガー]
2.キーワード順位の検索結果を受け取り、スプレッドシートに追記
3.キーワード順位の検索結果を受け取り、チャットワークに報告
シナリオを2つに分けた理由は、1つのシナリオでフローを構築すると、クラウドBOT側のRPA処理が長い(30秒以上かかる)場合にレスポンスがタイムアウトになり、RPAの実行結果を受け取れないケースが発生したためです。
シナリオを分け、ロボットが実行完了したことをトリガーとしてその後のフローを実行することで、RPAの処理時間に関わらず安定した自動化を実現しています。
#実際の作成手順
##① キーワードを記入したスプレッドシートを用意する
Google・Yahooの各キーワードの順位と、Googleに関してはインデックス数を記載する列を作成しました。
##② クラウドBOTでRPA部分のロボットを作成する
クラウドBOT[https://www.c-bot.pro] でキーワードの順位検索を行う部分をRPAで自動化します。
※クラウドBOTについてはこちらの記事で紹介させて頂いていますので、気になった方はご参照下さい。
https://qiita.com/cal_mgc/items/75dfab118ca031dcfd71
少しだけクラウドBOTの仕組みに触れておきます。
クラウドBOTで作成したロボットは、入力値と出力値を設定できるようになっています。ロボットは入力値として受け取った値を使用してRPA(自動操作)を行った後、画面内で取得したデータなどを出力値として出力できます。
Integromatと連携を行った際は、ロボットに設定した入力値と出力値がそのままIntegromat側のクラウドBOTモジュールの入力値と出力値として利用できるので、Integromatのフローの中にRPAを連携できるようなイメージになります。
↓↓↓Integromatのモジュールとして使用すると、こんなイメージになります。↓↓↓
###今回作成するロボットのシナリオ
1.キーワードの順位を検索できるサイト(SEOチェキを使用)にアクセスする
2.入力されたキーワードで順位検索を行う。
3.表示された順位をコピーする。
###ロボットを作成
1.クラウドBOTにログインし、「BOTを作る」ボタンをクリックします。
2.BOTエディタが開くので、SEOチェキにアクセスしてキーワードの順位検索を行う操作を記録していきます。
クラウドBOTは↓のような画面を実際と同じように操作していくだけで、左側に操作が自動記録されていきます。
3.続いて表示された順位を取得する手順を記録していきます。
4.最後にロボットを保存して、完成です。
入力データに「解析対象URL」と「キーワード」が設定されており、出力データに各キーワードの順位が出力されるようになっています。
5.クラウドBOT側で作成したロボットを実行すると、このようになります。
ロボットはこれで完成です。続いて、Integromat側からクラウドBOTを連携し、作成したロボットを実行します。
##③ Integromatで自動化フローを構築する(1つ目のシナリオ)
Integromat側のシナリオはとてもシンプルです。
1.Google Sheetsの「Get Range Values」モジュールを追加し、毎朝9:00に事前準備①で作成したスプレッドシート1行目を取得するように設定します。
2.Cloud BOTの「Execute BOT」モジュールを追加し、スプレッドシートから取得した値を参照します。
・A1のデータをクラウドBOTの「解析対象URL」に渡します。
・C1以降のキーワードもそれぞれ、クラウドBOTの「キーワード1」以降に渡します。
##④ Integromatで自動化フローを構築する(2つ目のシナリオ)
1.Cloud BOTの「Watch BOT Done 」モジュールを追加し、事前準備の②で作成したロボットの実行完了をトリガーとして設定します。
※Cloud BOT上で実行されたロボットの出力値は、Integromat側のCloud BOTモジュールのOUTPUTに出力されます。
2.Google Sheetsの「Add a Row」モジュールを追加し、事前準備①で作成したスプレッドシートに結果を追記します。
3.最後にChatworkやslack、Gmailなど普段から使用しているツールに結果を送信しておくと便利だと思います。
スプレッドシートを確認する
1日1回、Googleのインデックス数と各キーワードの順位が記録されていきます。
#さいごに
単純な自動化のつもりが長くなってしまいました。
今回の自動化フローはクラウドBOT、Integromat共に無料プランの範囲内で実現する事ができます。どちらもノーコードで簡単に使用できるツールですので、興味のある方は是非利用してみて下さい。