RPA

UiPathで Webスクレイピング【RPA体験】

rpa-start

この記事はこんな方向けです

  • RPA を理解してみたい
  • 単純な入力作業などを少しでも楽にできるツールを使ってみたい
  • 無償版の UiPath を自分の環境でもインストールしたい

こんにちは。Taka です。

今回は RPA という技術に触れていきたいと思います。

RPA とは ロボティック・プロセス・オートメーションの略で、
人が行う業務タスクをロボットに記憶させて自動化するシステムです。

例えば、
会社内のポータルサイトに更新される100人分の日報を開き、
日報の「名前」「日付」「報告内容」だけをひたすら Excel にコピペする。

というシンプルな業務を RPA で自動化して、作業時間を短縮できるようになるわけですね。

なぜ RPA を使ってみようと思ったのか?

Python 関連の記事を書いている途中で、なぜ RPA を使ってみたのか?
理由としては、Webスクレイピングができる こと。

Webスクレイピングとは Web サイト上にある情報をHTMLで取得して、特定の欲しい情報だけを抽出し、加工する技術のことです。

例えば、株価予想をするために、企業の情報をサイトから取得して、
自分でデータを加工して機械学習させる、ような時にWebスクレイピングを使います。

もちろんPythonでも実現可能です。スクレイピング自体はそこまで難しくはないのですが、もし RPA で簡単にできるのであれば、選択肢としてありかなと思います。

例えば、RPA で Webスクレイピングをしてサイトからデータを収集
→ 収集したデータを Python で加工、なんてことをやったらどうなるのかな? と。
(最初から Python でやったほうが早い気もしますが..)

まぁいいや!さっそくはじめてみましょう!!(笑)

UiPath Community をダウンロードする

RPA ツールを提供している会社はいくつかあるのですが、
今回は、UiPath Community を使います。もちろん無償版です。

同じような無償版で、RPA Express がありますが、
機能的に UiPath Community が良さそうだったので、こちらを試します。

UiPath とは Windows Workflow Foundation で作られたソフトウェアであり、データの操作、Excel へのコピペ、メールの送信などの業務タスクを自動化できるようになります。

それでは、まず以下のサイトからダウンロードしてみましょう。
UiPath Community エディション

「Community エディションを使用する」をクリックします。

select-uipath-community

個人情報を入力して、「Community エディションのダウンロード」をクリックしましょう。
これで登録したメールアドレスにダウンロードリンクが送られるのですが、
メールを開くのが面倒なので、「こちらから」をクリックしてダウンロードしましょう。

download-uipath

ダウンロードが完了したら、さっそくインストーラーを実行しましょう。
「Community Edition のアクティベーション」をクリックします。

activate-uipath-community

UiPath へ登録で「メールアドレス」を入力して
そのまま「アクティベーション」をクリックします。

done-activation

これでインストールは完了です。

UiPath でプロセスを新規作成する

次に、UiPath のプロセスを作成しましょう。

新規作成画面で「プロセス」をクリックします。

uipath-create-process

プロセス名や説明を入力して「作成」をクリックします。

create-process

これで、UiPath Studio が開きましたね。

uipath-studio

さぁ、スクレイピングをはじめましょう!

UiPath で Web スクレイピングを実行!

UiPath Studio ですスクレイピングを体験してみましょう。

今回は、IE (Internet Explorer) で開いた msn のホームページ から
記事タイトルとURLをスクレイピングして csv ファイルに出力します。

なぜ IE を利用したか?
Chrome や Firefox を利用する場合、拡張機能のインストールが必要です。
また、拡張機能をインストールしても Chrome でうまく動作しなかったので、
今回の検証では IE を選択しています。

データスクレイピングを行う

まずは、UiPath Studio のメニューから「データスクレイピング」をクリックします。

uipath-click-scraping

最初の要素を取得するために、「次へ」をクリックします。

first-element

そして、IEで開いた MSN のページの最初の記事をクリックします。

 

msn-1stelem-choose

正しく取得できると、
第二の要素を取得するダイアログが表示されるので、「次へ」をクリックします。

second-element

第二の要素として取得したい箇所を、MSN のページで選択します。
これで、最初の要素~第二の要素までのすべてのデータがスクレイピングされることになります。

msn-2nd-elem-choose

正しく取得できると、取得したデータのカラム(行名)を設定するダイアログになります。

「テキストカラム名」を タイトル 、「URLを取得」にチェックをいれて
「URL名」を URL として「次へ」をクリックします。

column-set

すると、データが取得できた結果が表示されます。いい感じですね。
「終了」をクリックして完了します。

result-scraping

UiPath Studio で以下のように、MSN の記事がスクレイピングされるアクションが定義されました。

‘構造データを抽出’ をクリックすると、右パネルに情報が表示されます。
ここで「データテーブル」に記載されている情報が、出力データになるので、この名前はメモしておきましょう。

check-extract-table-name

CSV に書き込む

それでは、次に CSV ファイルへの書き込みです。
UiPath Studio の左パネル下の「アクティビティ」をクリックして、「▷ 使用可能」を展開します。

select-activities

[App Integration] > [CSV] の順に展開して、
「Write CSV」を以下の図のところにドラッグ&ドロップします。

drag-drop-csv-write

CSV のファイル書き込み先を設定します。
File Path の右側の […] をクリックします。

select-csv-name-location

ファイルパスとファイル名を設定して、「保存」をクリックします。

set-csv-name

そして先ほどメモした「データテーブル」の情報を Data Table の箇所に入力します。

complete-csv-write-setting

これで準備は整いました。
UiPath Studio のメニューより、「実行」ボタンをクリックします。

run-scraping-job

実行後、一度 UiPath Studio が閉じて開きます。
先ほど指定したパスを見ると、CSV ファイルが作成されていることがわかりますね。

check-result

ファイルを開いてみると、
スクレイピングしたデータがきちんと出力されていました。成功です!

check-csv-result

最後に

UiPath は、視覚的な操作が可能なので、
Web からの取得データをCSV ファイルに書き込むくらいのことは
プログラミングなしで簡単に実現できました。

もし複雑な操作をする場合は、VBA でプログラミングすることになるので、
VBA の知識も合わせて勉強する必要がありそうです。

UiPath に関する調査はこれからも継続します。
その際は、以下のことを試してみようと思っています。

  • Chrome で動作させるにはどういう設定が必要か?
  • より高度なスクレイピングが実現できるか?
  • その他、業務タスクの自動化

まだまだ深堀りできそうなツールなので、これからが楽しみです。