注意:このページでは、旧バージョンのチュートリアルを紹介しています。最新のチュートリアルを表示するには、helpcenterに移動してください。
Airbnbから部屋の情報をスクレイピングする
2019年10月12日前回Booking.comからホテルの情報をスクレイピングする方法をご紹介いたしました。今回のチュートリアルでは、WebスクレイピングツールOctoparseを使って、Airbnbからホテルの情報をスクレイピングする方法を説明します。
ヒント! 1. 検索条件を絞ったURLをOctoparseに入力することを強くお勧めします。 2. Booking.comの構成と表示は、所在地のIPと優先言語によって異なる場合があります。 |
以下はチュートリアルの主な手順です。[デモをダウンロードする ]
3) 「ループアイテム」 - 一覧ページからデータを取得する
6) 「データカスタマイズ」 - データを再フォーマットする
1) 「Webページを開く」 - 対象のWebページを開く
そうすると、ページが内蔵ブラウザで開られます。
2) 「スクロールダウン」- すべての内容を読み込む
Airbnb.comのようなサイトでは、ページネーションのボタンがなく、全てのコンテンツを読み込むには、ページを連続して下にスクロールする必要があります。
ヒント! Octoparseで無限のスクロールを処理する方法の詳細については、次を参照してください。 |
3)「ループアイテム」 - 一覧ページからデータを取得する
そうすると、一番目のホテルの詳細ページに入ります。
ヒント! 上で述べたように、Octoparseが十分な回数スクロールして読み込まれたリストを取得できるようにするには、ループモードとXPathを変更する必要があります。ステップ5で処理方法をご覧ください。 |
4)「データを抽出する」 - 抽出したいデータを選択する
ヒント! 「スターランキング」を抽出する時、「選択した要素の外部HTMLを抽出する」を選択してください。正規表現で処理する必要があるからです。それがステップ6で行われます。 |
5) 「XPathを変更する」 - データの精度を向上させる
「ループクリック」をチェックすると、Octoparseは「固定リスト」のループモードを生成します。「固定リスト」は、一定量の要素を扱うために使用されます。ただし、Airbnb.com上のコンテンツの数は固定ではなく、スクロールダウンすると増加するのです。全ての内容を取得できるようにするには、ループモードを「変数リスト」に変更し、適切なXPathを入力する必要があります。
//div[@class="_fhph4u"]/div//div[@class="_v72lrv"]//a
ヒント! 1. 「固定リスト」および「変数リスト」は、Octoparseのループモードです。Octoparseのループモードの詳細については: 2. XPathとその生成方法の詳細については: |
6)「データカスタマイズ」 - データを再フォーマットする
目標データがWebページにテキストとして表示されていない場合は、まずソースコード(HTML)を抽出し、再フォーマットする必要があります。
ヒント! Octoparseは8つのデータ再フォーマットオプションを提供します。抽出されたデータをさらに処理できます。正規表現を使ってデータを再フォーマットする方法の詳細は次を参照してください。 |
7)「抽出開始」 - データ取得のタスクを実行する
ここにサンプルデータがあります。「Rating」に空白のフィールドがいくつか表示されます。これは、一部の詳細ページにホテルの評価がないためです。
ヒント! デフォルトでOctoparseがページ上で定義されたパターンの要素を見つけられない場合、フィールドは空白のままになります。しかしOctoparseは必要な要素がWebサイトに表示されていても、定義されたパターンの要素を見つけられないこともあります。この問題が発生した場合は、以下のチュートリアルをご参考ください。 |
この記事は役に立ちましたか?もしご不明な点がございましたら、いつでもお問い合わせください!