Yelpからビジネス情報を取得する

2019年10月12日

Yelpはユーザーがさまざまな店舗の口コミ情報をレビューとともに投稿できるサービスで、日本でいうと食べログに近いサービスです。日本語版サイトが2014年4月9日にオープンしました。このチュートリアルでは、yelp.comを例として、検索一覧ページから店舗の情報をスクレイピングする方法について説明します。

このチュートリアルで次のURLを例として使います。

https://www.yelp.com/search?find_desc=&find_loc=Seattle%2C+WA&ns=1

 

この度は店舗名、電話番号、スターランキング、レビュー件数などの情報を抽出します。

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

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

2)「ページネーション」 - 複数のページからデータを取得する

3)「ループアイテム」 - 一覧ページからデータを取得する

4)「データを抽出する」 - 抽出したいデータを選択する

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

6)「抽出開始」 - データ取得のタスクを実行する

 

 

 

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

      · カスタマイズモード」を選択し、新規タスクを作ります。

      · URLを入力して「URLを保存する」をクリックします。

そうすると、ページが内蔵ブラウザで開られます。

 

 

 

 

 

2) 「ページネーション」 - 複数のページからデータを取得する

      · ページ読み込み後、ページの下にある「Next」ボタンをクリックします。「操作ヒント」にある「次のページをループクリックする」を選択します。

 そうすると、2番目のページに入っています。

 

 

 

 

3) 「ループアイテム」 - 一覧ページからデータを取得する

今は2番目のページですから、念の為に、1番目のページに戻ってください。

     ·   一番目の店舗名をクリックし、Octoparseは残りの店舗を自動的に識別します。

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

      · 「リンクのテキストを抽出する」をクリックします。

 そうすると、ループアイテムが自動作成されます。

一覧ページからデータを取得する

 

 

 

 

 

4) 「データを抽出する」 - 抽出したいデータを選択する

      · 必要なデータをクリックし、「操作ヒント」にある「選択した要素のテキストを抽出する」を選択します。

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

 

ヒント!

スターランキング」を抽出する時、「選択した要素の外部HTMLを抽出する」を選択してください。正規表現で処理する必要があるからです。それがステップ5で行われます。

 

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

 

 

 

 

 

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

場合によっては、必要なデータが不要な文字列と一緒HTMLに隠れることがあります。たとえば、スターランキングをそのままをクリックしてもなにも抽出できません。この場合、まずHTMLを抽出し、ソースコードから必要な情報を抽出する必要があります。ここでは「スターランキング」を例として説明します。

           · データフィールドを選択し、「データフィールドをカスタマイズするmodify.pngをクリックします。

           · 抽出データを再フォーマットする」、「ステップを追加する」、「正規表現でマッチする」を順番に選択します。

           · RegExツールを試す」を選択します。

           · で始める」に「aria-label="」を入力、「で終わる」に 「star rating"」を入力、「生成する」をクリックしてから「マッチする」をクリックすると、「マッチ結果」フィールドに結果が表示されます。

           · 適用する」と「OK」をクリックします。

 データを再フォーマットする

 

 

 

 

 

6) 「抽出開始」 - データ取得のタスクを実行する

      · 保存する」をクリックします。

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

 

 

 

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

 

btn_sidebar_use.png
btn_sidebar_form.png