LIFULL HOME'Sから不動産情報をスクレイピングする

2019年10月12日

「そろそろマイホームを!」と思って、夢に見たマイホームでの新生活を暮らしたい方はたくさんいますよね。でも何から始めたらよいのかよくわかりません。住まいは、人生で最大とも言える大きな買い物だからこそ失敗したくないものです。しかし、実際は思うようなマンションが購入できなかったり、購入前のイメージとの違いなどから買ってから後悔したりするケースもあります。

後悔のないよう、物件情報の把握が重要です。まず住みたい地域の物件情報を全部取得して、その中に気になる物件を選びましょう!今回のチュートリアルはWebスクレイピングツールOctoparseを使って、LIFULL HOME'Sから東京都の新築マンション情報を取得します。

次のURLを例として使います。
https://www.homes.co.jp/mansion/shinchiku/tokyo/list/

 

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

1)「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く

2)「ページネーション」 - 複数のページからデータを取得する

3)「ループアイテム」 - 一覧ページからデータを取得する

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

5)「Xpathカスタマイズ」 - データ取得を正しくする

6)「抽出開始」 - データ取得のタスクを実行する

 

 

1) 「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く
  • 「カスタマイズモード」を選択し、新規タスクを作ります。
  • URLを入力して「URLを保存する」をクリックします。

そうすると、ページが内蔵ブラウザで開られます。

webページを開く

 

 

 

 
2) 「ページネーション」 - 複数のページからデータを取得する
  • ページ読み込み後、ページの下にある「次へ」ボタンをクリックします。「操作ヒント」にある「選択したリンクをループクリップする」を選択します。
  • チェックした結果、 ページネーションのXpathは間違いました。「単一要素」に正しいXpathを入力します。
    //li[@class="nextPage"]/a

そうすると、2番目のページに入っています。

ページ遷移のループを作る

 

ヒント!

Xpathの詳細については、以下の記事をご参考ください。

XPathとは?XPathの基本知識を学ぼう!

Webスクレイピングに不可欠!Xpathのまとめ

 

 

 

 

3) 「ループアイテム」 - 一覧ページからデータを取得する
  • 今は2番目のページですから、念の為に、「Webページを開く」、「ページネーション」をクリックして1番目に戻ります。
  • 一番目の物件名をクリックすると、Octoparseは同じページに残る物件名を自動的に識別します。
  • 「操作ヒント」にある「すべて選択」をクリックします。
  • 「選択した要素のテキストを抽出する」をクリックします。

そうすると、ループアイテムが自動作成されます。

チェックした結果、一ページに30件の物件があるはずですが、わずか22件です。ですから「ループアイテム」のXpathを変更しなければなりません。変数リスト」に正しいXpathを入力します。

//DIV[contains(@class, 'mod-mergeBuilding--sale')]

 

ループアイテム-を作る

 

 

 

4)「データを抽出する」 - 抽出したいデータを選択する
  • 必要なデータをクリックし、「操作ヒント」にある「選択した要素のテキストを抽出する」を選択します。
  • 必要に応じて、フィールド名を編集します。 

 データを抽出する

ヒント!

複数行のデータを一緒に選択するのは「操作ヒント」にある拡大ボタンをクリックしてください。


 

5)「Xpathカスタマイズ」 - データ取得を正しくする 

タスクをテストした後、13ページデータの構造が違い、あるデータがなくなることをわかりました。ですから、フィールドのXpathを直す必要があります。

  • 直すデータを選択し、「データフィールドをカスタマイズする」データフィールドをカスタマイズするをクリックします。
  • 「Xpathをカスタマイズする」をクリックします。
  • 「相対Xpath」に カスタマイズのXpathを入力します。
  • 「OK」をクリックします。

今回直すのは、以下のデータです。

「タイトル」     正しいXpath:  //span[@class='bukkenName']

「交通所在地」    正しいXpath:  //th[text()='交通']/following-sibling::td[1]  

「構造階数」     正しいXpath:  //th[contains(text(),'構造')]/following-sibling::td[1]

「販売戸数_総戸数」 正しいXpath:  //th[contains(text(),'戸数')]/following-sibling::td[1]

「完成日」      正しいXpath:  //td[contains(text(),'年')]

「画像URL」     正しいXpath:  //P[@class='photo']/img

xpathカスタマイズ

 

ヒント!

交通所在地、構造階数などの情報を抽出するなら、近くの2箇所のデータを関連付ける方法でも抽出できます。

 

 

 

6)「抽出開始」 - データ取得のタスクを実行する
「保存する」をクリックします。
「抽出開始」をクリックします。

 データ取得のタスクを実行する

 

いいマンションを購入して、理想の暮らしを叶えましょう。

 

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

btn_sidebar_use.png
btn_sidebar_form.png