食べログからレストラン情報を取得する

Wednesday, November 07, 2018 1:12 PM

「食べログ」を使ってた店を探すことがありますか?食べログでランチ・ラーメン・焼肉・寿司・居酒屋・スイーツなど、全国80万件以上の飲食店に寄せられた2,200万件以上のクチコミがすべて無料で見られます。とても便利なサイトです。今回は食べログからレストラン情報をスクレイピングする方法を説明いたします。

チュートリアルで次のURLを使用します。

https://tabelog.com/

 

以下はチュートリアルの主な手順です。[タスクファイルをダウンロードする ]

1) 「Webページを開く」 - 対象のWebページを開く

2) 「テクストを入力する」 – 検索する店を入力する

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

4) 「ループアイテム」を作る - 各リストのデータを取得する

5) データを抽出する - 抽出したいデータを選択する

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

 

 

 

 

1) 「Webページを開く」 - 対象のWebページを開く

· カスタマイズモードの「+ タスク」をクリックします。

自由度の高い「カスタマイズモード」は、複雑なサイトを対応できます。複雑な構造のサイトからデータを抽出するなら、カスタマイズモードを強くお勧めします。 

· URLを「Webサイト」ボックスに貼り付け、「URLを保存する」をクリックして移動します。

 

 

 

2) 「テクストを入力する」 – 検索する店を入力する

 · 入力ボックスをクリックし、「操作ヒント」の「テクストを入力する」をクリックします。

 · お店の情報を入力して、「OK」をクリックします。

 · 「検索」ボタンをクリックし、「操作ヒント」の「ボタンをクリックする」をクリックします。

 

 

 

 

ヒント!

 

テキスト/キーワード入力の詳細についてを参照してください。

 

 

 

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

 · 下にスクロールして、Webページの「次の20件」ボタンをクリックします。

 · 「操作ヒント」の「選択したリンクをループクリップする」をクリックします。

 

 

 

 

4)「ループアイテム」を作る - 各リストのデータを取得する

今、2番目の結果ページに入っています。続く前に、一番目のページに戻ってください。

 ·   ワークフローの「Webページを開く」をクリックします。

 · 「テクストを入力する」と「要素をクリックする」を順番にクリックします。

ワークフローの各ステップをクリックすることで、Octoparseがサイトとどのようにやり取りしているかを簡単に確認できます。

 ·   ワークフローでページネーションループを選択します。

複数ページにわたるデータを抽出する場合は、最初のページで「ループアイテム」を作るほうがいいです。

 

さて、ループアイテムを作りましょう!

 ·   一番目のレストランのタイトルをクリックすると、残りのタイトルが識別されます。

 ·  「操作ヒント」の「すべて選択」をクリックします。

Octoparseは現在ページのタイトルのリンクを自動的に選択します。選択したリンクは緑色で強調表示され、詳細ページへの他のリンクは赤色で強調表示されます。

 ·  「各URLをループクリップする」をクリックすると、「ループアイテム」を作ります。

Octoparseは、 「ループアイテム」で取り込まれた各リンクをクリックし、詳細ページを開きます。

 

 

 

 

 

5) データを抽出する - 抽出したいデータを選択する

「各URLをループクリップする」をクリックすると、Octoparseは最初のレストランの詳細ページを開きます。

· ページ上で必要なデータをクリックして、「操作ヒント」から「選択した要素のテキストを抽出する」を選択します。

· 必要に応じて、フィールド名を編集します。

 

各レストランの詳細ページには、目標データの位置は違います。ですから、より正しくデータをスクレイピングするには、Xpathをカスタマイズする必要があります。

   · 「店名」行を選択し、「データフィールドをカスタマイズする」をクリックします。

   · 「Xpathをカスタマイズする」を選択します。

   · 「絶対Xpath」に カスタマイズのXpathを入力します。

//th[contains(text(),"店名")]/following-sibling::td[1]

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

ほかのデータも同じXpath式で変更できます。

//th[contains(text(),"")]/following-sibling::td[1]

 

 

 

ヒント!

1. 近くの2箇所のデータを関連付けることによって、データをより正しく抽出する方法については:

· 近くの2箇所のデータを関連付ける方法 

2. XPathとその生成方法の詳細については:

· XPathで要素を見つける 

 

 


  

 

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

· 「抽出開始」をクリックします。

· コンピュータでタスクを実行するには「ローカル抽出」を選択し、クラウドでタスクを実行するには「クラウド抽出」を選択します(有料版のみ)。

 

ここにサンプル出力があります。

 

 

 

 

 

 

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

btn_sidebar_use.png
btn_sidebar_form.png