指定したWebページのテーブルデータを自動で取得するサンプルです。ブラウザでURLにアクセスし、テーブルの繰り返し構造を自動認識してデータを抽出します。
- 取得対象: https://training.coopel.ai/table.html の商品一覧テーブル
- 取得カラム: 商品No、商品名、単価
アクション構成
- URLにアクセス
- 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件のコメント
記事コメントは受け付けていません。