価格.comから売れ筋ランキングをスクレイピングする

Monday, July 02, 2018 4:13 PM

価格.comはパソコンや家電から、ファッション、食品に至るまで、あらゆる製品・サービスを、販売価格や口コミ情報、ランキングなどの視点から比較・検討できる、お買い物支援サイトです。買い物をする前にそのサイトで自分の買いたいものをチェックできます。

今回、WebスクレイピングツールOctoparse 7.Xを使って、価格.comからノートパソコンの人気売れ筋ランキングをスクレイピングします。

次のURLを例として使います。
http://kakaku.com/pc/note-pc/ranking_0020/

 

以下はチュートリアルの主な手順です。 [タスクファイルをダウンロードする]
1) 「Webページを開く - 内蔵ブラウザで対象のWebページを開く」
2) ページ遷移のループを作る - 複数のページからデータを取得する
3) 「ループアイテム」を作る - 各ページ上のデータを取得する
4) データを抽出する - 抽出したいデータを選択する
5) データカスタマイズ - 余計なデータを削除する
6) 抽出タスクを始める - タスクの実行を行いデータを取得する

 

 

 

1) 「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く

 

  • 「アドバンストモード」を選択し、タスクを作ります。 自由度の高い「アドバンストモード」は、複雑なウェブサイトを対応できます。
  •  URLを入力して「URLを保存する」をクリックします。
  • 「ワークフロー」をオンにするとタスクの作りはやすくなります。

 

 

2) ページ遷移のループを作る - 複数のページからデータを取得する

ページの下にある「次へ」ボタンをクリックし、「操作ヒント」パネルから「選択したリンクをループクリップする」を選択します。

 

3) 「ループアイテム」を作る - 各ページ上のデータを取得する
  • ステップ2では、2ページ目に移動しました。ですから、「Webページを開く」をクリックして1ページ目に戻ります。
  • ページネーション」をクリックします。
  • 一番目の商品のタイトルをクリックすると、残りのタイトルが識別されます。
  • 操作ヒント」にある「すべて選択」をクリックして、「選択した要素のテキストを抽出する」をクリックします。
  • ループアイテム」には余計なデータが3行あります。ですから、「変数リスト」に正しいxpathを入力します。

//DIV[@class='rkgBoxBody clearfix']/parent::div[1]

 

4)データを抽出する - 抽出したいデータを選択する
  • 一番目の「ループアイテム」をクリックして、ワークフローにある「選択した要素のテキストを抽出する」をクリックします。
  • 必要なテキストデータをクリックし、「操作ヒント」にある「すべて選択」をクリックし、「選択した要素のテキストを抽出する」を選択します。
  • 色の選択は画像なので、色を取得する場合、色の画像をクリックし、「操作ヒント」にある「選択した要素の外部HTMLを抽出する」を選択します。
  • 必要に応じて、フィールド名を編集します。

 

5) データカスタマイズ - データを再フォーマットする

1.場合によっては、必要なデータがHTMLに隠れることがあります。たとえば、色を抽出したいですが、それをクリックして抽出できないようです。この場合、まずHTMLを抽出し、再フォーマットする必要があります。

  • データフィールドを選択し、「データフィールドをカスタマイズする」をクリックします。
  • 抽出データを再フォーマットする」、「ステップを追加する」、「正規表現でマッチする」を順番に選択します。
  • 正規表現」に  (?<=title=")(.+?)(?=系")  を入力します。
  • 計算する」をクリックすると、「出力」フィールドに結果が表示されます。
  • 「OK」をクリックします。

 

 

ヒント!

正規表現の初心者にRegExツールをオススメします。

  • RegExツールを試す」を選択します。
  • で始める」に「 title=" 」を入力、「で終わる」に 「系"」を入力,「生成する」をクリックしてから「マッチする」をクリックすると、「マッチ結果」フィールドに結果が表示されます。
  • 適用する」と「OK」をクリックします。

 

 


2. タスクをテスト実行した結果、「仕様」フィールドのxpathが間違いました。

  •  直すデータを選択し、「データフィールドをカスタマイズする」をクリックします。
  • Xpathをカスタマイズする」をクリックします。
  • 相対Xpath」に カスタマイズのXpathを入力します。

//DIV[@class='rkgRow rowDetail']

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

 

6) 抽出タスクを始める - タスクの実行を行いデータを取得する

保存する」をクリックします。
抽出開始」をクリックします。

 

 この記事は役に立ちましたか?もしご不明な点がございましたら、いつでもお問い合わせください!

 

btn_sidebar_use.png
btn_sidebar_form.png