StudioXのデータ抽出(Data Extraction)を使ってみた


これはUiPathのStudioXにあるデータ抽出機能の内容、簡単な操作方法の記事である。


#データ抽出(Data Extraction)とは
指定した Web ページまたはアプリケーションから表データや複数のページにわたる Web の検索結果などの構造化された情報を抽出する機能。

アクティビティ欄から選ぶ他のアクティビティとは違い上部にあるリボン帯にボタンが存在し、そのボタンから取得ウィザードを実行して、抽出する情報を指定する。
(詳しい使用方法は後述)
<img width="960" alt="UiPath_StudioX画面.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/90f7e84e-814a-32bb-3742-d2279bcb5cf9.png">

##表データとは、
例えば下記の様な行列に規則性がある表で表現されたランキングである。
<img width="590" alt="表データ例.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/0e55092b-4a2e-2cd0-6da5-8f53a7bd9405.png">
※Yahoo株式ランキングより


また、下記の様な検索結果も欲しいデータを指定し、StudioX側で相関性を見つけてデータを抽出することが可能である。
<img width="586" alt="検索結果.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/7132a5ba-45b4-f44f-dce8-68be42d5ca50.png">
※Goolge検索の「UiPath」検索結果より



#データ抽出(Data Extraction)の使い方

##例題：Yahoo株式ランキングよりデータを抽出したい場合

①抽出したい画面をデータ抽出操作の前に表示しておく
<img width="590" alt="表データ例.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/61f14bc8-668c-d314-f7e5-f5dd5e5b600f.png">

②StudioXの「データ抽出」をクリック
<img width="960" alt="UiPath_StudioX画面.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/eeecbdd4-2e79-ea0a-cd9a-47ee2773bbb8.png">


③開いた取得ウィザード画面で「次へ」をクリック
<img width="475" alt="取得ウィザード.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/f3e0125d-de97-6fb9-bd4f-f1ed0d75153f.png">

④欲しいデータのヘッダー部分の一番左を選択
<img width="565" alt="ヘッダーを選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/05d62c23-d4d5-197c-5a1a-f7ff2f6268b1.png">

⑤表形式データを抽出画面で「はい」をクリック
<img width="457" alt="表形式データを抽出.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/52fa5ad9-f83b-a003-5e93-ed09e90b0d08.png">

⑥抽出されたデータのプレビューを確認。最大件数も設定可能。
問題無ければ「終了」をクリック
<img width="227" alt="抽出された表データ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/1f075b29-d0af-05a9-5f20-d6835930550d.png">

⑦次へのリンクを指定で複数ページにまたがるデータを取得するか否かを選択
複数ページにまたがるデータを取得しない場合は「いいえ」を選択。
今回は操作説明の為「はい」を選択する。
<img width="579" alt="複数ページ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/26553db6-952b-f366-7578-07b56827da1b.png">

⑧「次へ」ボタンを選択
<img width="442" alt="次へボタン.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/b819a6b5-4574-d869-a6e2-ff634e7fdfd4.png">

⑨StudioXに下記の様な画面が作成される
<img width="960" alt="データ抽出が作成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/920c9cf3-2e15-e500-2568-535b47548bfb.png">


これでデータ抽出は完了なのだが、せっかくなのでどういう形のデータが抽出されているか、csvにアウトプットしてみる。

⑩抽出先を選択
<img width="640" alt="抽出先選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/9b0173a8-4cee-982f-04fb-8903b6eb20d3.png">

⑪CSVに書き込みアクティビティを追加、設定し完成
※「CSV書き込み」アクティビティの書き込み先欄にCSVの名前を設定すると、
StudioXを実行した際に、StudioXと同じフォルダの中にCSVが作成されます。
<img width="640" alt="完成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/9a4bfc16-278f-c00d-2d14-b37c37abb348.png">


##CSVでアウトプットした結果

Yahoo株式ランキングなどのブラウザを消し、
StudioXの上部にある「実行」を押してみましょう。
※自動的にブラウザが起動され、Yahoo株式ランキングが開きデータが抽出されます。
<img width="400" alt="結果①.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/84b9eb1d-f4fa-d66f-2a6e-2aa7a8655b9c.png">
<img width="400" alt="結果②.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616232/e53c554a-1aa9-7a80-b1c4-9da295b70c8c.png">


#終わりに
データ抽出機能は便利かつ奥深い機能です。
UiPath Studioでもデータスクレイピング(Data Scraping)という似た機能がり、もしデータ抽出に興味を持たれた方はデータスクレイピングで検索してヒントを得るのも良いかもしれません。