Yelpからビジネス情報を取得する
フォローする
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を抽出し、ソースコードから必要な情報を抽出する必要があります。ここでは「スターランキング」を例として説明します。
· データフィールドを選択し、「データフィールドをカスタマイズする」をクリックします。
· 「抽出データを再フォーマットする」、「ステップを追加する」、「正規表現でマッチする」を順番に選択します。
· 「RegExツールを試す」を選択します。
· 「で始める」に「aria-label="」を入力、「で終わる」に 「star rating"」を入力、「生成する」をクリックしてから「マッチする」をクリックすると、「マッチ結果」フィールドに結果が表示されます。
· 「適用する」と「OK」をクリックします。
6) 「抽出開始」 - データ取得のタスクを実行する
· 「保存する」をクリックします。
· 「抽出開始」をクリックします。
From: https://www.octoparse.jp/tutorial/scrape-business-information-from-yelp/