[サンプル] 02. Webスクレイピングしてみよう

指定したWebページのテーブルデータを自動で取得するサンプルです。ブラウザでURLにアクセスし、テーブルの繰り返し構造を自動認識してデータを抽出します。

シナリオ全体像

アクション構成

  1. URLにアクセス
  2. Webスクレイピング(テーブルデータ取得)

アクション詳細

(1) URLにアクセス

新規ブラウザを起動して指定URLを開きます。セッション情報(Cookie等)を持たないクリーンな状態でアクセスします。
このサンプルでは、トレーニングサイトの商品一覧ページ (https://training.coopel.ai/table.html) にアクセスしています。

テーブル

属性 設定値
URL https://training.coopel.ai/table.html
Tips
このアクションで起動したブラウザのインスタンスが、次のスクレイピングアクションの入力として使われます。

(2) Webスクレイピング

ページ上の繰り返し構造(テーブル等)を認識し、各行のデータをまとめて取得します。

属性 設定値
ブラウザ アクション(1)のブラウザ
要素(親) tbody
戻り値ラベル 商品No / 商品名 / 単価
子要素 [ {"contentType":"text","selector":":nth-child(2)"},
{"contentType":"text","selector":":nth-child(3)"},
{"contentType":"text","selector":":nth-child(4)"} ]

セレクター構造の読み方

<tbody>              ← 親要素:繰り返し(tr)を含む要素を指定
  <tr>               ← ここが1件分のデータ
    <td>...</td>     ← :nth-child(1)(今回は対象外)
    <td>商品No</td>  ← :nth-child(2)
    <td>商品名</td>  ← :nth-child(3)
    <td>単価</td>    ← :nth-child(4)
  </tr>
</tbody>

親要素に tbody を指定することで「tbody の子要素(tr)ごとに1件」として認識されます。各 tr の中から :nth-child(n) で目的の列を取り出しています。

実行結果

実行後、Webスクレイピング アクションをクリックして結果を確認できます。

テーブル

セレクター指定の方法

要素の特定には Coopel Selector Helper(Chrome拡張)を使うと、ページ上の要素をクリックするだけでセレクターが自動設定されます。

カスタマイズのヒント

やりたいこと 対応方法
別のサイトのテーブルを取得したい アクション(1)のURLと、アクション(2)の要素・子要素を対象サイトに合わせて変更
取得するカラムを増やしたい 子要素に :nth-child(n) を追加し、ラベルを設定
SSLエラーが出るサイトにアクセスしたい アクション(1)の「非SSLや自己証明書サイトにアクセス」をオンにする
ページ表示が遅くてエラーになる アクション(2)の「要素検索のタイムアウト」(デフォルト30秒)を延ばす

コメント

0件のコメント

記事コメントは受け付けていません。