この記事はこんな方向けです
こんにちは。Taka です。
今回は RPA という技術に触れていきたいと思います。
RPA とは ロボティック・プロセス・オートメーションの略で、
人が行う業務タスクをロボットに記憶させて自動化するシステムです。
例えば、
会社内のポータルサイトに更新される100人分の日報を開き、
日報の「名前」「日付」「報告内容」だけをひたすら Excel にコピペする。
というシンプルな業務を RPA で自動化して、作業時間を短縮できるようになるわけですね。
what you learn
Python 関連の記事を書いている途中で、なぜ RPA を使ってみたのか?
理由としては、Webスクレイピングができる こと。
Webスクレイピングとは Web サイト上にある情報をHTMLで取得して、特定の欲しい情報だけを抽出し、加工する技術のことです。
例えば、株価予想をするために、企業の情報をサイトから取得して、
自分でデータを加工して機械学習させる、ような時にWebスクレイピングを使います。
もちろんPythonでも実現可能です。スクレイピング自体はそこまで難しくはないのですが、もし RPA で簡単にできるのであれば、選択肢としてありかなと思います。
例えば、RPA で Webスクレイピングをしてサイトからデータを収集
→ 収集したデータを Python で加工、なんてことをやったらどうなるのかな? と。
(最初から Python でやったほうが早い気もしますが..)
まぁいいや!さっそくはじめてみましょう!!(笑)
RPA ツールを提供している会社はいくつかあるのですが、
今回は、UiPath Community を使います。もちろん無償版です。
同じような無償版で、RPA Express がありますが、
機能的に UiPath Community が良さそうだったので、こちらを試します。
それでは、まず以下のサイトからダウンロードしてみましょう。
UiPath Community エディション
「Community エディションを使用する」をクリックします。
個人情報を入力して、「Community エディションのダウンロード」をクリックしましょう。
これで登録したメールアドレスにダウンロードリンクが送られるのですが、
メールを開くのが面倒なので、「こちらから」をクリックしてダウンロードしましょう。
ダウンロードが完了したら、さっそくインストーラーを実行しましょう。
「Community Edition のアクティベーション」をクリックします。
UiPath へ登録で「メールアドレス」を入力して
そのまま「アクティベーション」をクリックします。
これでインストールは完了です。
次に、UiPath のプロセスを作成しましょう。
新規作成画面で「プロセス」をクリックします。
プロセス名や説明を入力して「作成」をクリックします。
これで、UiPath Studio が開きましたね。
さぁ、スクレイピングをはじめましょう!
UiPath Studio ですスクレイピングを体験してみましょう。
今回は、IE (Internet Explorer) で開いた msn のホームページ から
記事タイトルとURLをスクレイピングして csv ファイルに出力します。
なぜ IE を利用したか?
Chrome や Firefox を利用する場合、拡張機能のインストールが必要です。
また、拡張機能をインストールしても Chrome でうまく動作しなかったので、
今回の検証では IE を選択しています。
まずは、UiPath Studio のメニューから「データスクレイピング」をクリックします。
最初の要素を取得するために、「次へ」をクリックします。
そして、IEで開いた MSN のページの最初の記事をクリックします。
正しく取得できると、
第二の要素を取得するダイアログが表示されるので、「次へ」をクリックします。
第二の要素として取得したい箇所を、MSN のページで選択します。
これで、最初の要素~第二の要素までのすべてのデータがスクレイピングされることになります。
正しく取得できると、取得したデータのカラム(行名)を設定するダイアログになります。
「テキストカラム名」を タイトル 、「URLを取得」にチェックをいれて
「URL名」を URL として「次へ」をクリックします。
すると、データが取得できた結果が表示されます。いい感じですね。
「終了」をクリックして完了します。
UiPath Studio で以下のように、MSN の記事がスクレイピングされるアクションが定義されました。
‘構造データを抽出’ をクリックすると、右パネルに情報が表示されます。
ここで「データテーブル」に記載されている情報が、出力データになるので、この名前はメモしておきましょう。
それでは、次に CSV ファイルへの書き込みです。
UiPath Studio の左パネル下の「アクティビティ」をクリックして、「▷ 使用可能」を展開します。
[App Integration] > [CSV] の順に展開して、
「Write CSV」を以下の図のところにドラッグ&ドロップします。
CSV のファイル書き込み先を設定します。
File Path の右側の […] をクリックします。
ファイルパスとファイル名を設定して、「保存」をクリックします。
そして先ほどメモした「データテーブル」の情報を Data Table の箇所に入力します。
これで準備は整いました。
UiPath Studio のメニューより、「実行」ボタンをクリックします。
実行後、一度 UiPath Studio が閉じて開きます。
先ほど指定したパスを見ると、CSV ファイルが作成されていることがわかりますね。
ファイルを開いてみると、
スクレイピングしたデータがきちんと出力されていました。成功です!
UiPath は、視覚的な操作が可能なので、
Web からの取得データをCSV ファイルに書き込むくらいのことは
プログラミングなしで簡単に実現できました。
もし複雑な操作をする場合は、VBA でプログラミングすることになるので、
VBA の知識も合わせて勉強する必要がありそうです。
UiPath に関する調査はこれからも継続します。
その際は、以下のことを試してみようと思っています。
まだまだ深堀りできそうなツールなので、これからが楽しみです。