「構造化データの抽出(NB)」アクティビティのご紹介をします。
1.アクティビティのプログラム名
RCA.Activities.NativeBrowser.ExtractStructuredData
2.説明
Studio バージョン 2.1.1.1から
クイックアクセス: 「ツールボックス」 > 「Native Browser」 > 「構造化データの抽出(NB)」
コボットStudio 2.1.1.1リリース時に追加されたアクティビティです。パッケージマネージャーから追加可能です。指定したウェブページから構造化データを抽出することができます
※動作を確認したコボットStudioのバージョン:2.1.1.2
※バージョンによって文言などが一部異なる場合がございます
3.プロパティ
プロパティ項目 | プロパティ名 | 入力欄 | 説明 |
---|---|---|---|
オプション | 「次のページ」のタイムアウト(ミリ秒) | 値を入力(Int32型) | 次のページが読み込まれるまでの待機時間を設定する。タイムアウトが発生した場合はそれ以上ページは読み込まれない。 |
ページ遷移の待機時間(ミリ秒) | 値を入力(Int32型) | 次のページが読み込まれるまでの待機時間を設定する。 | |
結果の最大数 | 値を入力(Int32型) | 抽出する結果の最大数を設定する。1以上の数字を設定する。デフォルトは100(件)。 | |
その他 | パブリック | チェック項目 | ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照) |
表示名 | 任意の文字列 | デザイナーパネルのアクティビティ名に反映される。 | |
一般 | エラー時に続行 | 値を入力(Boolean型) | エラー時に後続の処理に進む。 |
実行後の待機時間 | 値を入力(Int32型) | 抽出を行った後に指定した時間(ミリ秒)待機する。 | |
実行前の待機時間 | 値を入力(Int32型) | 抽出を行う前に指定した時間(ミリ秒)待機する。 | |
出力 | 結果 | 値を入力(DataTable型) | 抽出結果を格納する変数を設定する。 |
入力 | セレクタを編集 | 値を入力(String型) | クリックした要素の詳細が反映される。 |
4.使い方
「構造化データの抽出(NB)」アクティビティの実際の使用例をもとに説明します。
【例】ChromeでWebページを開き、ページ内の表からデータを抽出する。その後Excelにデータを転記する。
「Native Browser」 > 「ブラウザを開く(NB)」アクティビティで開きたいページを設定している状態で、「Native Browser」 > 「構造化データの抽出(NB)」アクティビティを「ブラウザを開く(NB)」内に配置します。
「要素を指定」を押下すると、抽出ウィザードがポップアップで開きます。「列を追加」を押下し、サイト内のデータを抽出したい要素(今回は表)を選択します。要素の選択方法について詳しくは「セレクタの取得方法」をご参照ください。
※複数ページにまたぐ検索結果などのデータを抽出したい場合は、「「次のページ」要素を選択してください」ボタンから次のページに進むための要素を指定することにより、ページをまたいでデータを取得できます。
※要素を指定しなおす場合は、ウィザードの「抽出設定の編集」から適宜修正したり、「セレクタを編集」プロパティをすべて空にしてからウィザードを開きなおすことにより再度要素の指定が可能になります。
うまく取得できているとこのように表示されます。
※サイトの構造上ポップアップが出る場合がございます。ポップアップが出た際に、まだ抽出対象としたいデータがある場合は「はい」、これ以上抽出対象となるデータがない場合は「いいえ」を選択します。
「出力」 > 「結果」プロパティにDataTable型変数「result」を設定します。変数の作成方法について詳しくは「変数の作成」をご参照ください。
※変数パネル上で「result」のスコープを「シーケンス」に変更しておきます
次に「Excel」 > 「Interop」 > 「Excelアプリケーションスコープ」アクティビティをドラッグ&ドロップで配置します。
配置したら「ファイル」 > 「ワークブックパス」プロパティに抽出したデータを転記するExcelファイルのパスを入力します。
今回使用するExcelは以下のようになっています。
次に「Excel」 > 「Interop」 > 「Excel範囲に書き込む」アクティビティを「Excelアプリケーションスコープ」内に配置します。
配置したら「入力」 > 「シート名」プロパティ、「データテーブル」プロパティ、「開始セル」プロパティをそれぞれ以下のように設定します。
・シート名:"Sheet1"
・データテーブル:result
・開始セル:"B3"
「ホーム > スタート」ボタン、または「F5」キーにてワークフローを実行すると、Webページの表を取得した結果がExcelファイルに入力されます。ワークフローが終了したらExcelファイルを開き確認します。
5.注意点
検索結果の全件取得について
今回はWebページ上の表を取得する方法で使用例を記載しておりますが、検索結果が構造化されているWebページであれば本アクティビティで検索結果を取得できます。
例えば必ず結果が300件以内と決まっているような場合で全件取得する際には、「結果の最大数」プロパティに「300」を入れていただければ問題ありません。
しかし、上限数がわからない状態で検索結果を全件取得するための設定は仕様上準備がございませんのでご注意ください。