クラウド型のRPAサービスを使用して「Webスクレイピングを行い、結果をスプレッドシートに出力する」仕組みを構築する一連の流れを紹介します
この記事で紹介している内容
クラウド型のRPAである『クラウドBOT』を使用して、以下のようなロボットを作成する手順を紹介しています。
【ロボットの処理】
1.為替レートを表示するWebページにアクセスし、為替レートをコピーします。
2.コピーした情報をGoogleスプレッドシートに追記します。
※これを1日1回自動実行します。
クラウドBOTとは
ブラウザ操作を自動化できる、クラウド型のRPAサービスです。
ユーザがブラウザで行っているクリックやコピーなどの操作を記録し、クラウド上で自動実行できます。
基本無料で利用でき、環境構築が不要で初期費用も発生しません。
(ISO27017を取得しており、セキュリティ面も安心です。)
事前準備
Googleスプレッドシートの用意
日別に為替レートを記録していけるように、以下のようなシートを用意しました。
サービスアカウントの発行と認証ファイルの取得
クラウドBOTからGoogleサービスを操作する際は、Google Cloudのサービスアカウントを使用します。
- サービスアカウトの発行手順と必要な設定
- 認証ファイルの取得方法
-
サービスアカウントに特定のフォルダを共有する方法
について詳しく解説されていますので、こちらを参考に設定します。
https://docs.c-bot.pro/user_guide/bot/b-bot_editer/extension/google_cloud_settings/
※動画でも詳しく解説しています。(https://youtu.be/D4IuGvI47wg)
ロボットの制作手順
クラウドBOTを使用して実際にロボットを作成していきます。
BOTエディタ画面を開く
クラウドBOTにログインし、ダッシュボード画面の「BOTを作る」ボタンをクリックします。
BOTエディタ画面が開きます。「仮想ブラウザを起動する」ボタンをクリックし、仮想ブラウザを起動します。
仮想ブラウザでWebページにアクセスする
“検索またはURLを入力して下さい”の部分にスクレイピング対象(為替レートを取得するWebページ)のURLを入力し、虫眼鏡ボタンをクリックします。
操作記録を開始する
画面左上の三本線ボタンからサイドメニューを開き、「ブラウザ操作を記録する」ボタンをクリックします。
為替レートをコピーする操作を記録する
クラウドBOTはWebページの要素を対象に、様々な操作を記録できます。
取得する値をクリックしてメニューを表示し、「コピー」>「テキストをコピー」を選択します。
データ名を『外貨→円貨(TTB)』と入力し、「コピーする」ボタンをクリックします。
同じように『円貨→外貨(TTS)』をコピーするタスクを追加します。
今日の日付を作成する
スプレッドシートへ書き出す際に使用する“今日の日付”を作成しておきます。
3番のタスクの下に表示されている「値を作る」ボタンをクリックします。
値を作るウインドウが表示されます。
『値を作る』は、“生成する値”を組み合わせる事で、BOT内で様々な値を作成できる機能です。
さらに、+ボタンからをクリックし、“任意の文字列”を選択します。
“/”を入力し。「OK」ボタンをクリックします。
同じように、“月(0埋め)”、“任意の文字列”、“日(0埋め)”を使用して、以下のような値を作成します。
データ名は「今日の日付」とし、「OK」ボタンをクリックします。
拡張機能Googleスプレッドシートを呼び出す
必要なデータが揃いましたので、Googleスプレッドシートにデータを書き込む操作を記録します。
クラウドBOTでは、仮想ブラウザの拡張機能を使用してGoogleスプレッドシートの操作を行いますので、その手順について解説します。
画面右上の3点リーダーから、メニューを開き、「拡張機能」をクリックします。
“Googleスプレッドシート”パッケージを選択し、“データ行追加”アプリを選択します。
「使用する」ボタンをクリックします。
サービスアカウントの認証ファイルを仮想ブラウザにアップロードする
拡張機能の操作を記録する前に、事前準備で作成したサービスアカウントの認証ファイルを仮想ブラウザにアップロードします。
画面左下の「ビューア」をクリックし、データビューアを開きます。
+ボタンをクリックし、新しいデータを追加します。
タイプは“ファイル”を選択し、データ名は「認証ファイル」とします。
追加したデータ(認証ファイル)横の薄いファイルアイコンをクリックすると、ファイル選択のウインドウが表示されますので、「ファイル選択」ボタンをクリックし、ローカルから事前準備で取得したサービスアカウントの認証ファイルをアップロードします。
データビューアの「OK」ボタンを押して、データビューアを閉じます。
サービスアカウントの認証ファイルと、操作対象のスプレッドシートURLを指定する
先ほど登録した認証ファイルを参照する操作を記録します。
アップロードフォームの要素を選択し、メニューを開きます。「データを貼り付け」>「認証ファイル」を選択します。
続いて、スプレッドシートのURLを入力します。入力フォームの要素を選択し、メニューを開きます。
「入力する」を選択します。
事前準備で作成したGoogleスプレッドシートのURLを入力し、青いチェックボタンをクリックします。
ここは初期値のままで問題ありませんので、そのまま画面を下にスクロールし、「次へ」ボタンを記録する操作を記録します。
次の入力画面に遷移します。
スプレッドシートに出力するデータを入力する
スプレッドシートの列名が表示されますので、BOT内で生成した「今日の日付」、Webページから取得した「外貨→円貨(TTB)」、「円貨→外貨(TTS)」をそれぞれ貼り付けます。
拡張機能の実行結果が表示されます。
“追加に成功したデータ行数”が「1」になっていればOKです。
スプレッドシートを確認する
実際にスプレッドシートを確認してみると、データが出力されています。
BOTを保存する
BOTエディタ画面に戻り、画面右上の「保存」からBOTを保存します。
BOTのスケジュールを設定する
クラウドBOTのダッシュボード画面に戻り、サイドメニューの「トリガー」をクリックします。
トリガーを使用すると、スケジュールやメール受信を利用したBOT実行が可能です。
トリガーの利用にはシングルオフィスプラン(3,000円/月)以上の有料プラン契約が必要です。
https://www.c-bot.pro/ja/plan/
今回は1日1回自動実行させたいので、スケジュールを使用してBOTの実行設定を行います。
これで、毎日13:00に為替レートを自動スクレイピングし、スプレッドシートに書き出す仕組みが完成しました。
さいごに
クラウド型のRPA『クラウドBOT』を使用して、1日1回「Webページから為替レートを取得し、スプレッドシートに書き出す」という自動化を構築してみました。クラウド型のRPAは全てクラウド上で処理されるので、ローカルPCでスクレイピングソフトを動作させるより利便性が高いです。
慣れてくると、このくらいの自動化であれば数十分で構築できるようになります。
本記事のスケジュール設定部分以外は無料で構築できますので、是非チャレンジしてみて下さい!