Tripadvisorからホテルの情報をスクレイピングする

Thursday, December 20, 2018 12:28 PM

前回BookingAirbnbからホテルの情報をスクレイピングする方法をご紹介いたしました。今回のチュートリアルでは、WebスクレイピングツールOctoparse 7.Xを使って、TripAdvisorからホテルの情報をスクレイピングする方法を説明します。

次のURLを例として使います。 

 

https://www.tripadvisor.com/Hotels-g186338-London_England-Hotels.html

ホテルの詳細ページに入り、ホテルのタイトル、住所、価格、評価を取得しようと思います。

 

このチュートリアルでは次の内容についても説明します。

   · RegExツールで星評価を数字に再フォーマット

 

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

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

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

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

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

5) データカスタマイズ - ホテルの評価を再フォーマットする(オプション)

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

 

 

 

 

 

 

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

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

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

 

Tripadvisorのクッキー設定のため、Octoparseでフィルタを設定する必要があります。

• Octoparseのブラウザで「Check-in」の日付を選択し、「Action Tips」の「Click Element」をクリックします。

• アクションを繰り返して、「Check-out」の日付と「Guest Information」を設定します。

今、必要な結果ページになります。

 

 

 

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

• ページを下部にスクロールし、次のページボタン「Next Page」ボタンをクリックします。

• 「Action Tips」から「Loop click next page」をクリックします。

TripAdvisorがAJAXでコンテンツを読み込むから、「Pagination」アクション用にAJAX Loadを設定する必要があります。

• 「Auto retry when no response」のチェックを外します。

• 「Load the page with AJAX」をチェックし、「AJAX Timeout」を設定します。

 

 

 

 

 

 

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

• 「Go To Web Page」をクリックすると、最初のページに移動します。

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

• 3つの[Click item]アクションを削除します。

Octoparseは保存されたクッキーをwebサイトに送信し、Tripadvisorがすでにさっきの操作を覚えたから、これらのアクションを削除しても結果ページを直接開くことができます。

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

 

これから「Loop Item」を作ります。

• 一番目のホテルのタイトルをクリックすると、残りのタイトルが識別されます。

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

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

そうすると、一番目のホテルの詳細ページを開きます。

 

 

 

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

• ページ上で必要なデータをクリックします。

• 「Action Tips」から「Extract data」を選択します。

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

 

ヒント!

ホテルの評価をクリックすると、「Extract button outer HTML」を選択します。抽出されたデータは、正規表現でさらに処理する必要があります。ステップ5で処理方法をご覧ください。

 

 

 

5) データカスタマイズ - ホテルの評価を再フォーマットする(オプション)

目標データがWebページに表示可能なテキストとして表示されていない場合は、まずソースコード(HTML)を抽出し、抽出したソースコードを必要な形式に処理する必要があります。

• 「Rating」を選択し、「Customize data field」をクリックします。

• 「Refine extracted data」を選択します。

• 「Add step」をクリックし、「Match with Regular Expression」を選択します。

• 「Try RegEx Tool」を選択します。

• 「Start With」ボックスをチェックし、「alt=」と入力します。

• 「End With」ボックスをチェックし、「star rating」と入力します。

• 「Generate」と「Match」をクリックします。

• 「Apply」をクリックし、「OK」をクリックします。

• 「OK」をクリックして保存します。

 

 

 

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

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

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

 

 

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

 

 

 

 

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

 

 

 

btn_sidebar_use.png
btn_sidebar_form.png