リストを使ってデータを抽出する

Sunday, April 08, 2018 7:44 AM
リストとは?

リストは、同じHTML構えを持つ要素の集合です。様々なリストは、Webサイトが情報を展示する一般的な方法です。
Webscraping with Octoparse  - Using list to extract

ヒント!
Octoparseは、HTMLソースコードのパターンによってリストに属する要素を検出します。

さて、リストを使って情報を展示するWebページを見てみましょう。

Webscraping with Octoparse - Extract with list Webscraping with Octoparse - Extracting with list


Web scraping with Octoparse - Extract with list Web Scraping with Octoparse - Extract with list 

リストは広く使われるので、リストを抽出することやリストを構築することを学ぶことは、重要なスクレイピング手法になります。このチュートリアルでは、リストを設定してデータを抽出する方法を説明します。





リストから簡単なデータを抽出する
選択されたリストからテキスト/ URL / HTMLなどのデータを直接取得することは、最も基本的なリスト抽出手法です。以下の手順に従って抽出します。

1) 対象リストにある任意の要素をクリックします。

Web Scraping with Octoparse - Using list to extract

2) 「Action Tips」にある「Select all」をクリックします。

Web scraping with Octoparse - extract with list

3) 必要なデータの種類に応じて、「Action Tips」の提示に従って抽出操作を完了します。

Web scraping with Octoparse - extract with list


ヒント!
  • 必要に応じて、操作パネルの拡張ボタンを使って選択範囲を拡張します。

Scraping with Octoparse - expansion button

  •  選択された要素が緑色で強調し、検出された要素が赤色で強調します。
  •  最初の要素をクリックした後、Octoparseがすべての要素を検出できない場合は、検出されていない要素をクリックできます。Octoparseは、新たにクリックされた要素によってもう一度識別を行います。





リストの部分からデータを抽出する 
リストにある類似の各部分から取得したい情報がある場合、部分のリストを作って、リストから詳細情報を直接取得できます。

例えば、下の画像では、記事のタイトル、投稿日、著者名などの詳細情報を含むさまざまなニュース記事のリストがページに表示されます。

Web scraping with Octoparse - example image
リストの各部分から詳細情報を抽出するために、2つのステップがあります。

1) 対象部分のリストを作る
2) 各部分から取得するデータフィールドを指定する

操作は以下の手順に従ってください。
1) 対象部分のリストを作る
  • 対象リストの任意部分をクリックします。 対象部分の全体が緑色になり、すべてのサブ要素が赤色になります。

Web Scraping with Octoparse - extract list detail step 2


ヒント!
  • 必要な部分全体が強調表示されるまで、その部分の上にマウスオーバーします。
  • 多くの場合、必要な部分を正しく定めるのは難しいので、操作パネルの拡張アイコンをクリックすると、対象データフィールドが含まれているまで選択範囲を拡大できます。

    Scraping with Octoparse - expansion icon


  • 対象リストの別の部分をクリックします。 Octoparseは自動的にすべての同じ部分を選択します(強調表示されます)。
Web Scraping with Octoparse - extract list detail step 2

ヒント!
  • 操作パネルには、検出されたサブ要素を抽出する提示がありますが、クリックされた部分だけでなくリストのすべて部分から抽出したいので、提示の操作を選択しなく、引き続きリストを作ります。
  • 2回のクリック後に、必要な部分がまだ自動的に選択されていない場合は、選択していない部分をクリックし続けてください。

  • 操作パネルから「Extract text of the selected element」を選択します。

Web scraping with Octoparse - extract list detail step 3

2) 各部分から取得するデータフィールドを指定する
  • 記事のタイトルをクリックします。
  • 操作パネルから「Extract text of the selected element」を選択します。
  • 執筆者、投稿日、記事の要約など、他のデータフィールドも同じ手順で実行します。

Web scraping with Octoparse - extract list detail step 5


ヒント!

強調表示された部分からデータフィールドを選択するのが重要です。Octoparseはデータフィールドを対応する部分に関連付けることができます。


3) 右上にあるワークフロースイッチOctoparse Web Scraping - Workflow iconを切り替えます。 左側は生成されたワークフロー、右側は抽出されたデータです。必要に応じてフィールドの名前を変更するか、不要なデータフィールドを削除します。

Web scraping with Octoparse - extract list detail step 7


Web scraping with Octoparse - extract list detail step 8

ヒント!
ループから異なるアイテムを選択して「Extract data」をクリックして、各ループアイテムに対応するデータが正しく抽出されるかどうかを確認できます。
Web scraping with Octoparse - extract list detail step 8

 




リスト内の各リンクをクリックして抽出する

リストの各部分には情報の制限があります。詳細情報が必要な場合は、リストからリンクをクリックし、詳細ページから取得する必要があります。

次の例を見てみましょう。

Web scraping with Octoparse - click into links and extract

これを行うには、2つのステップがあります。

1) リンクのリストを作る
2) 詳細ページから取得するデータフィールドを指定する

操作は以下の手順に従ってください。
1) 対象リンクのリストを作る
  • リストにあるリンクをクリックします。

Web scraping with Octoparse - extract list detail

  • 操作パネルで、「Select all」をクリックします。

Web scraping with Octoparse - extract list detail

  • 「Loop click each URL」をクリックします。

Web scraping with Octoparse - extract list detail

2) 詳細ページから取得するデータフィールドを指定する
  • 製品のタイトルをクリックします。
  • 操作パネルで、「Extract text of the selected element」をクリックします。
  • モデル、SKU、評価など、他のデータフィールドも同じ手順で実行します。

Web scraping with Octoparse - extract list detail

3) 右上にあるワークフロースイッチOctoparse Web Scraping - Workflow iconを切り替えます。 左側は生成されたワークフロー、右側は抽出されたデータです。必要に応じてフィールドの名前を変更するか、不要なデータフィールドを削除します。

Web scraping with Octoparse - extract list detail

 




図表をスクレイピングする

表は、Webデータの最も一般的な表示形式の1つです。Octoparseで表からデータを取得するには、表の各行をリストの1つの部分として扱い、各行から抽出するデータフィールドを指定します。

Web scraping with Octoparse - extract table

操作は以下の手順に従ってください。
1) 表の任意行をクリックします。

 
ヒント!
  • 行全体が強調表示されるまで、操作パネルから拡張アイコンをクリックし続けます。

Web scraping with Octoparse - extract table

  • アドレスバーの横にある「Reload」アイコンWeb scraping with Octoparse - extract tableを使ってウェブページを再度読み込みます。
  • すべての情報が内蔵ブラウザに表示されると、「Stop loading」アイコンWeb scraping with Octoparse - extract tableをクリックして次の操作に進むことができます。

2) 同じ表の別の行をクリックします。

3) 操作パネルで「Extract text of the selected elements」をクリックします。

Web scraping with Octoparse - extract table

 

4) 強調表示された行から、抽出するデータフィールドをクリックします。
5) 操作パネルで、「Extract text of the selected elements」をクリックします。
6) 他のデータフィールドも同じように抽出します。

Web scraping with Octoparse - extract table


ヒント!
テキストではなく、選択した要素のURL/HTMLが必要な場合は、操作パネルから対応するオプションをクリックしてください。

7) 右上にあるワークフロースイッチOctoparse Web Scraping - Workflow iconを切り替えます。 左側は生成されたワークフロー、右側は抽出されたデータです。必要に応じてフィールドの名前を変更するか、不要なデータフィールドを削除します。

Web scraping with Octoparse - extract table

8) ワークフローのアクションをクリックして、異なる行にデータが正しく抽出されるかどうかを確認します。

Web scraping with Octoparse - extract table

 

関連記事:

Octoparse 7.Xの新機能を見ましょう!

ドロップダウンリストを選択する

テキスト/URL/画像/HTMLを抽出する

 

 

 

btn_sidebar_use.png