Robotic Crowd

Robotic Crowd

Robotic Crowd Agentでデータを抽出

Author: Ren Murayama 92 views

この記事では、Google Chrome拡張機能「Robotic Crowd Agent」のExtractData設定機能を使ってサイトからデータを抽出する方法を説明します。

ExtractDataアクションの説明も兼ねています。

Robotic Crowd Agent

Robotic Crowdでサイトを操作する時に便利な3つの機能を持っています。

  • CSSセレクタの右クリック取得
  • サイト操作のREC機能
  • ExtractData機能
こちらからダウンロードしてください。

「ExtractData」ページからデータ抽出

例えば、以下のページのように、同じ構造をしたデータが複数存在しているページがあります。

こういったサイト上のデータを、表形式やJSON形式で抽出することができます。
※見出し行の出力有無は選択できます。設定手順の補足2を参照してください。

Robotic Crowdのワークフロー設定画面からアクションをドラッグ&ドロップして手動で設定することもできますが、設定が複雑なためRobotic Crowd Agentを使うことを推奨します。

 ワークフローの設定例

下記手順にてワークフローを設定します。

Google ChromeでRobotic Crowd Agentを起動します。

  • Robotic Crowdのアイコンをクリックします。
    (アイコンがない場合、拡張機能を固定します)


  • 「ExtractData」をクリックします。


  • 操作サイトを一度クリックし、各要素が黄色い枠に囲まれる状態になっていればOKです。

抽出したい要素を順にクリックして選択していきます。

  • 抽出したい要素をまず一つクリックし、表データにした時のデータ名(見出し名)をつけます。
  • 選択後、要素が水色の枠で囲われます。


  • 抽出したい要素と同じレベルの要素を続けてクリックします。(例えば見出しなら見出し、リンクならリンク)
    例では、「記事タイトル」として抽出したい要素が全て水色の枠で囲われるまでこれを繰り返します。


  • 次に取得したい要素をクリックして、データ名を変更し、上記を繰り返します。


  • 全ての要素が水色の枠で囲われた状態になったら、Robotic Crowd Agentをもう一度開きSTOPをクリックします。
  • COPYをクリックします。


  • Robotic Crowdのワークフロー設定画面を開き、エディタモードをクリックしてコード表示に切り替えます。


  • コピーしたコードをエディタに貼り付けます。この時、文頭位置が他のアクションと揃うように注意してください。
    アクションをひとつも設定していない場合、1行目文頭にスペースが空かないように貼り付けます。


  • 貼り付けたコードの中の「browser」に書かれている「+undefined」を削除して、エディタモードをオフにします。


  • 「ブラウザ」欄が空白の状態でExtractDataアクションがワークフローに組み込まれます。
    対象のブラウザアウトプットを指定して完了です。

「2. 抽出する要素を選択」まで完了した後、「TRY」をクリックすると直接CSVが出力されます。

通常のCSV同様ダウンロードすることも可能です。

ExtractDataアクションの「フォーマット」欄で、出力データ形式を指定できます。

選択できるのは以下3パターンで、デフォルトでは、”csv”が選択されています。

Robotic Crowd上の設定コード出力形式
csv見出し行ありのCSV
csvWithoutHeader見出し行なしのCSV
jsonJSONデータ

サンプルデータでは、以下のような出力が想定されます。

・csv

・csvWithoutHeader

・json

サイトの構造によって、一次元配列として出力されないケースがあります。
jsonデータを使いたい場合はアウトプットにご注意ください。

[
  {
    “記事タイトル” : “ブラウザを操作する”
    “書き出し” :  “この記事では、ブ”
  },
  {
    “記事タイトル” : “鉄道運行情報の通知”
    “書き出し” :  “この記事では、特定”
  },
  {
    “記事タイトル” : “検索結果のスクレイピング”
    “書き出し” :  “この記事では、W”
  },
  ...  
]

# ブラウザを開く
+open_browser_1:
  action>: OpenBrowser
  url: 'https://support.roboticcrowd.com/docs/example/'
  lang: 'ja-JP'
  headless: true

# ページからデータを抽出
+extract_data_1:
  action>: ExtractData
  browser: +open_browser_1
  extractor: [{"name":"記事タイトル","selectors":[":nth-child(1) > .media > .media-body > a > h5",":nth-child(2) > .media > .media-body > a > h5"]},{"name":"書き出し","selectors":[":nth-child(1) > .media > .media-body > p"]}]
  format: csv
  multiple: true
[参考記事]
エージェント 拡張 rca GoogleChrome Extract data

このページは役に立ちましたか?