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

Wednesday, November 07, 2018 1:12 PM

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

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

https://tabelog.com/

 

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

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

2) 「Enter Text」 – 検索する店を入力する

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

4) 「Loop Item」を作る - 各リストのデータを取得する

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

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

 

 

 

 

 

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

· Advanced Modeの「+ Task」をクリックします。

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

· URLを「Extraction URL」ボックスに貼り付け、「Save URL」をクリックして移動します。

 

 

 

2) 「Enter Text」 – 検索する店を入力する

· 入力ボックスをクリックし、「Action Tips」の「Enter text」をクリックします。

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

· 「検索」ボタンをクリックし、「Action Tips」の「Click button」をクリックします。

 

 

ヒント!

 

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

 

 

 

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

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

· 「Action Tips」の「Loop click the select link」をクリックします。

 

 

 

 

 

4)「Loop Item」を作る - 各リストのデータを取得する

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

· ワークフローの「Go To Web Page」をクリックします。

· 「Enter text」と「Click item」を順番にクリックします。

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

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

複数ページにわたるデータを抽出する場合は、最初のページで「Loop Item」を作るほうがいいです。

 

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

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

· 「Action Tips」の「Select all」をクリックします。

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

· 「Loop click each URL」をクリックすると、「Loop Item」を作ります。

Octoparseは、 「Loop Item」で取り込まれた各リンクをクリックし、詳細ページを開きます。

 

 

 

 

 

 

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

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

· ページ上で必要なデータをクリックして、「Action Tips」から「Extract text of the selected element」を選択します。

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

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

   · 「店名」行を選択し、「Customize data field」をクリックします。

   · 「Customize Xpath」を選択します。

   · 「Matching 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) 抽出タスクを始める - タスクの実行を行いデータを取得する

· 「Start Extraction」をクリックします。

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

 

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

 

 

 

 

 

 

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

btn_sidebar_use.png