こちらは最新バージョンのOctoparse向けのチュートリアルガイドです。お使いのOctoparseが古いバージョンの場合は、最新バージョンへのアップグレードを強くおすすめします。最新バージョンは高速で、より使いやすく、強力になりました。まだアップグレードしていない場合は、こちらからダウンロードとアップグレードを行ってください。
前回Booking.comからホテルの情報をスクレイピングする方法をご紹介いたしました。今回のチュートリアルでは、WebスクレイピングツールOctoparseを使って、Airbnbからホテルの情報をスクレイピングする方法を説明します。
ヒント!
|
それでは、さっそく学習を始めていきましょう。
1) 「Webページを開く」 - 対象のWebページを開く
カスタムタスクには、以下の2つの開き方があります:
URLを「Webサイト」ボックスに貼り付け、「URLを保存する」をクリックして移動します。
そうすると、ページが内蔵ブラウザで開られます。
2) 「スクロールダウン」- すべての内容を読み込む
Airbnb.comのようなサイトでは、ページネーションのボタンがなく、全てのコンテンツを読み込むには、ページを連続して下にスクロールする必要があります。
「スクロールダウン」で「読み込み完了後、スクロールダウンを設定する」にチェックを入れます。
スクロールの「回数」と「間隔」を設定します。
「スクロール方法」で「ページの最後までスクロール」を選択します。
ヒント!
|
3)「ループアイテム」 - 一覧ページからデータを取得する
一番目のホテル名をクリックすると、Octoparseは同じページに残るホテル名を自動的に識別します。
「各要素をループクリックする」を選択します。
そうすると、一番目のホテルの詳細ページに入ります。
ヒント!
|
4)「データを抽出する」 - 抽出したいデータを選択する
必要なデータをクリックします。「操作ヒント」から「選択した要素のテキストを抽出する」を選択します。
必要に応じて、フィールド名を編集します。
ヒント!
|
5) 「XPathを変更する」 - データの精度を向上させる
「ループクリック」をチェックすると、Octoparseは「固定リスト」のループモードを生成します。「固定リスト」は、一定量の要素を扱うために使用されます。ただし、Airbnb.com上のコンテンツの数は固定ではなく、スクロールダウンすると増加するのです。全ての内容を取得できるようにするには、ループモードを「変数リスト」に変更し、適切なXPathを入力する必要があります。
「ループアイテム」ボックスを選択します。
「変数リスト」を選択し、次のXPath式をを入力します:
//div[@class="_fhph4u"]/div//div[@class="_v72lrv"]//a
「確認」をクリックして保存します。
ヒント!
|
6)「データカスタマイズ」 - データを再フォーマットする
目標データがWebページにテキストとして表示されていない場合は、まずソースコード(HTML)を抽出し、再フォーマットする必要があります。
「Rating」を選択し、「データフィールドをカスタマイズする」をクリックします。
「抽出データを再フォーマットする」、「ステップを追加する」、「正規表現でマッチする」を順番に選択します。
「正規表現ツールを試す」を選択します。
「で始める」ボックスをチェックし、「Rated」と入力します。
「で終わる」ボックスをチェックし、「out」と入力します。
「生成する」と「マッチする」をクリックします。
「適用する」をクリックし、「保存」をクリックします。
「保存」をクリックして保存します。
ヒント!
|
7)「抽出開始」 - データ取得のタスクを実行する
左上の「保存する」、をクリックして、そして「開始」をクリックします。
「ローカル抽出」または「クラウド抽出」(有料版のみ)を選択します。
ここにサンプルデータがあります。「Rating」に空白のフィールドがいくつか表示されます。これは、一部の詳細ページにホテルの評価がないためです。
ヒント!
|
弊社では、Airbnb向けのテンプレートもご用意しております。タスクを構築する必要はなく、リンクをご入力いただくだけで、すぐにご利用いただけます:


