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

Thursday, October 25, 2018 7:05 PM

世界観光機関(UNWTO)によると、2017年の世界の観光客の総数は、前年と比べ7%増加して約13億2,220万人を果たしました。旅行業の発展に伴い、Booking.com、TripAdvisor.com、Airbnb.comなど世界のオンライン旅行代理店が急速に上場し、これまで以上に簡単にホテル、航空券の情報を入手できます。

このチュートリアルでは、WebスクレイピングツールOctoparse 7.Xを使って、Booking.comからホテルの情報をスクレイピングする方法を説明します。(例のURL

 

 

Tips!

1. 自分のブラウザで必要に応じてフィルタを設定し、設定したURLをOctoparseに入力してタスクを開始することを強くお勧めします。

2. Booking.comの構成と表示は、お使いのIPと優先言語によって異なる場合があります。

 

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

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

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

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

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

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

 

 

 

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

   · Advanced Modeの「+ Task」をクリックします。
     自由度の高い「Advanced mode」は、複雑なウェブサイトを対応できます。特にBooking.comのような複雑な構造のサイトからデータを抽出するなら、Advanced modeを強くお勧めします。 

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

 

 

 

 

 

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

   · Octoparseの右上隅にある「Workflow」ボタンを切り替えることで、「ワークフローモード」をオンにします。

   「ワークフローモード」をオンにして、タスクの手順をより正確に把握することを強くお勧めします。

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

   · 「Action Tips」から「Loop click the selected link」をクリックします。

 

 

 

 

 

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

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

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

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

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

     Octoparseは現在ページのタイトルのリンクを自動的に選択します。選択したリンクは緑色で強調表示され、詳細ページへの他のリンクは赤色で強調表示されます。

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

     Octoparseは、 「Loop Item」で取り込まれた各リンクをクリックし、詳細ページを開きます。

 

 

 

 

 

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

「Loop click each element」をクリックすると、Octoparseは最初のホテルの詳細ページを開きます。

    · ページ上で必要なデータをクリックして、データを抽出します。

    · テキストを抽出するには、「Action Tips」から「Extract text of the selected element」を選択します。

    · 画像URLを抽出するには、「Action Tips」から「Extract the URL of the selected link」を選択します。

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

 

 

 

 

 

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

   · 左上の「Start Extraction」をクリックします。

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

 

ここにサンプル出力があります。 「Hotel_Image_1」列と「All_Rooms_Include」列に空白のフィールドがいくつか表示されます。これは、一部の詳細ページにホテルのイメージや客室設備の情報が含まれていないためです。

 

 

ヒント!

デフォルトでOctoparseがページ上で定義されたパターンの要素を見つけられない場合、フィールドは空白のままになります。しかしOctoparseは必要な要素がWebサイトに表示されていても、定義されたパターンの要素を見つけられないこともあります。この問題が発生した場合は、以下のチュートリアルをご参考ください。

· 空白のフィールドを抽出したら何をすべきか? 

 

 

 

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

btn_sidebar_use.png