メインコンテンツへスキップ
Yelpは、地域ビジネスとレビュー分析に強いデータソースです。レストラン、ホームサービス、医療、美容、ナイトライフなど、レビューが購買判断に影響するカテゴリで特に有用です。 Yelpスクレイピングには主に2つの目的があります。カテゴリ/地域で店舗を発見すること、または既知店舗のプロフィールとレビューを深く集めることです。この2つは分けて設計します。

ページ種別

種別用途主なフィールド
検索結果business discoveryname、URL、category、rating、review count、address、phone、price level
店舗プロフィール詳細情報hours、photos、website、amenities、services、owner info、map location
レビューsentiment/品質分析review text、rating、date、reviewer、owner reply
ApifyやBright DataのYelp系ツールも、business dataとreviewsを分けることが多いです。リード獲得は軽く、レビュー分析は深く、という分離が有効です。

検索workflow

plumbers in Phoenixcoffee shops in Brooklyndentists in Torontoのようにcategoryとlocationから始めます。business name、Yelp URL、category、rating、review count、price level、address、neighborhood、phone、website、search keyword、result positionを集めます。 検索語と順位は重要です。同じ店舗でも、brunchで1位か、coffee shopで10位かでは意味が違います。

プロフィールとレビュー

店舗プロフィールでは、営業時間、写真、amenities、delivery/takeout/reservation、支払い、駐車場、accessibility、Wi-Fi、説明、座標を取得します。カテゴリによりフィールドは異なるため、欠損を許容するschemaにします。 レビューでは、rating、text、date、reviewer display name、reviewer location、photos、owner response、useful/funny/cool countを取得します。Yelpには独自のreview filtering/rankingがあるため、見えているレビューが全体の中立サンプルとは限りません。sort mode、取得日、review URLを残します。

用途

  • 地域リード獲得: 店舗を発見し、Webサイトから公開連絡先を補完する
  • 競合監視: rating、新規review、営業時間、カテゴリ順位を追う
  • 市場調査: 地域ごとの店舗密度、review volume、average ratingを比較する
  • review分析: 待ち時間、接客、価格、品質への不満や評価点を抽出する

技術とコンプライアンス

Yelpではpagination、dynamic content、カテゴリ別layout、review sorting、anti-bot check、地域差が課題になります。まず小さな地域/カテゴリで出力を検証し、都市やカテゴリごとにsubtaskへ分けると再実行しやすくなります。 公開データのみを対象にし、利用規約、robots.txt、個人情報、reviewer情報の保存に注意します。Yelp公式APIが用途に合う場合はそちらを検討します。 テンプレートは、business listing、profile detail、reviewsの定番収集に有効です。独自taxonomy、sentiment pipeline、CRM enrichment、市区町村ごとの定期監視が必要な場合はcustom workflowが向いています。