こちらは最新バージョンのOctoparse向けのチュートリアルガイドです。お使いのOctoparseが古いバージョンの場合は、最新バージョンへのアップグレードを強くおすすめします。最新バージョンは高速で、より使いやすく、強力になりました。まだアップグレードしていない場合は、こちらからダウンロードとアップグレードを行ってください。
「食べログ」を使ってた店を探すことがありますか?食べログで、ランチ・ラーメン・焼肉・寿司・居酒屋・スイーツなど、全国80万件以上の飲食店に寄せられた2,200万件以上のクチコミがすべて無料で見られます。とても便利なサイトです。今回は食べログからレストラン情報をスクレイピングする方法を説明いたします。
チュートリアルで次のURLを使用します。
まずは全体的な流れを見てみましょう。
1.「Webページを開く」 - 対象のWebページを開く
コピーしたURLを入力ボックスに貼り付けて、タスクを作ります。 自由度の高い「カスタイズタスク」は、複雑なウェブサイトを対応できます。
「スタート」をクリックします。
2.「テクストを入力する」 – 検索する店を入力する
入力ボックスをクリックし、「操作提案」の「テクストを入力する」をクリックした後、エリアを入力し、「はい」をクリックします。
同じ手順で、「キーワード」を入力します。
「検索」ボタンをクリックし、「操作提案」の「選択した要素をクリックする」をクリックします。
💡ヒント
テキストを入力についてはこちらにご参考ください。
3.ページ遷移のループを作る - 複数のページからデータを取得する
検索結果画面を下にスクロールして、Webページの「次の20件」ボタンをクリックします。
「操作提案」の「ループクリップ」をクリックします。
4.「ループアイテム」を作る - 各リストのデータを取得する
現在、検索結果画面にもどり、ループアイテムを作りましょう。
これにより、選択された各店の詳細ページに入り、データをスクレイピングすることができます。
一番目や二番目のレストランのタイトルをクリックすると、残りのタイトルが自動的に識別されます。
「操作提案」の「各URLにループクリック」をクリックします。
Octoparseは現在ページのタイトルのリンクを自動的に選択します。選択したリンクは緑色で強調表示され、詳細ページへの他のリンクは赤色で強調表示されます。
5.データを抽出する - 抽出したいデータを選択する
現在、詳細ページに入りました。抽出したいデータを選びましょう。
ページ上で必要なデータをクリックして、「操作提案」から「選択した要素のテキストを抽出する」を選択します。
各レストランの詳細ページでは、目標データの位置が異なります。そのため、より正確にデータをスクレイピングするには、属性ではなくXpathを指定する必要があります。必要に応じて、フィールド名が編集できます。
例えば、「要素のXpathを設定」をクリックします。
店名://th[contains(text(),"店名")]/following-sibling::td[1]
ほかのデータも同じXpath式で変更できます。
ジャンル://th[contains(text(),"ジャンル")]/following-sibling::td[1]
予約・お問い合わせ://th[contains(text(),"予約・")]/following-sibling::td[1]
住所://th[contains(text(),"住所")]/following-sibling::td[1]
💡ヒント
XPathとその生成方法の詳細についてはXPath基礎編 - 1.基本概念
6.抽出タスクを始める - タスクの実行を行いデータを取得する
右上の「保存」や「実行」をクリックします。
そして、「ローカル収集」や「クラウド収集」の一つを選択します。