【無料構築】クラウドBOTとIntegromatを活用して、自動でキーワード順位を取得する

クラウド型の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)を実行し、キーワードの順位を調べる
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/ecf696d0-ef4d-db2f-1dee-cfd3b6adc90f.png)

###2つ目のシナリオ
1.クラウドBOT(RPA)が完了[トリガー]
2.キーワード順位の検索結果を受け取り、スプレッドシートに追記
3.キーワード順位の検索結果を受け取り、チャットワークに報告
![002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/a6a16953-87bb-b09a-db31-90b131b4ba85.png)
シナリオを2つに分けた理由は、1つのシナリオでフローを構築すると、**クラウドBOT側のRPA処理が長い(30秒以上かかる)場合にレスポンスがタイムアウトになり、RPAの実行結果を受け取れないケースが発生した**ためです。
シナリオを分け、ロボットが実行完了したことをトリガーとしてその後のフローを実行することで、RPAの処理時間に関わらず安定した自動化を実現しています。

#実際の作成手順
##① キーワードを記入したスプレッドシートを用意する 
Google・Yahooの各キーワードの順位と、Googleに関してはインデックス数を記載する列を作成しました。
![003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/864068a6-0f8d-fcaf-4be9-e629f218e5bf.png)

##② クラウドBOTでRPA部分のロボットを作成する
クラウドBOT[https://www.c-bot.pro] でキーワードの順位検索を行う部分をRPAで自動化します。
※クラウドBOTについてはこちらの記事で紹介させて頂いていますので、気になった方はご参照下さい。
https://qiita.com/cal_mgc/items/75dfab118ca031dcfd71

**少しだけクラウドBOTの仕組みに触れておきます。**
クラウドBOTで作成したロボットは、入力値と出力値を設定できるようになっています。ロボットは入力値として受け取った値を使用してRPA(自動操作)を行った後、画面内で取得したデータなどを出力値として出力できます。
![004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/9eb20647-b29f-4e6c-1dfc-0e655caa729a.png)
Integromatと連携を行った際は、**ロボットに設定した入力値と出力値がそのままIntegromat側のクラウドBOTモジュールの入力値と出力値として利用できる**ので、Integromatのフローの中にRPAを連携できるようなイメージになります。
↓↓↓Integromatのモジュールとして使用すると、こんなイメージになります。↓↓↓
![005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/5687220e-a641-6396-b97b-4bb5dd85bfa3.png)

###今回作成するロボットのシナリオ
1.キーワードの順位を検索できるサイト(SEOチェキを使用)にアクセスする
2.入力されたキーワードで順位検索を行う。
3.表示された順位をコピーする。

###ロボットを作成
1.クラウドBOTにログインし、「BOTを作る」ボタンをクリックします。
![bot_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/01e58263-6b34-256f-6bc1-56339ec406d4.png)
2.BOTエディタが開くので、SEOチェキにアクセスしてキーワードの順位検索を行う操作を記録していきます。
クラウドBOTは↓のような画面を実際と同じように操作していくだけで、左側に操作が自動記録されていきます。
![bot_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/7c25506a-7161-6abb-6f10-07a1aac296ea.png)
3.続いて表示された順位を取得する手順を記録していきます。
![bot_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/9d987b53-3790-3f72-0011-d97c7b8973e7.png)
4.最後にロボットを保存して、完成です。
入力データに「解析対象URL」と「キーワード」が設定されており、出力データに各キーワードの順位が出力されるようになっています。
![bot_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/0d1696a5-38ab-840b-7db0-c18d6b89a574.png)
5.クラウドBOT側で作成したロボットを実行すると、このようになります。
![bot_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/3dc16755-ac60-fe9b-93d1-d3bfd8317ca8.png)
ロボットはこれで完成です。続いて、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」以降に渡します。
![007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/0bc1fe2c-4671-351b-eb78-b81c34e36a20.png)

##④ Integromatで自動化フローを構築する(2つ目のシナリオ)
1.Cloud BOTの「Watch BOT Done 」モジュールを追加し、事前準備の②で作成したロボットの実行完了をトリガーとして設定します。
※Cloud BOT上で実行されたロボットの出力値は、Integromat側のCloud BOTモジュールのOUTPUTに出力されます。
![008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/54e7e99f-4b4b-0c84-858b-b1b2b543759e.png)

2.Google Sheetsの「Add a Row」モジュールを追加し、事前準備①で作成したスプレッドシートに結果を追記します。
![009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/289b9f94-daea-a3db-cc76-e0402d8c737c.png)

3.最後にChatworkやslack、Gmailなど普段から使用しているツールに結果を送信しておくと便利だと思います。
![010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/1ebcbd2a-c183-3438-60d3-a4e078a12ca8.png)

## スプレッドシートを確認する
1日1回、Googleのインデックス数と各キーワードの順位が記録されていきます。
![011.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459104/68d0f41d-3332-0996-d764-8fc88257f46b.png)


#さいごに
単純な自動化のつもりが長くなってしまいました。
今回の自動化フローはクラウドBOT、Integromat共に無料プランの範囲内で実現する事ができます。どちらもノーコードで簡単に使用できるツールですので、興味のある方は是非利用してみて下さい。