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

Tuesday, June 26, 2018 6:20 PM

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

後悔のないよう、物件情報の把握が重要です。まず住みたい地域の物件情報を全部取得して、その中に気になる物件を選びましょう!今回のチュートリアルはWebスクレイピングツールOctoparse 7.Xを使って、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を保存する」をクリックします。
  • 「ワークフロー」をオンにするとタスクの作りはやすくなります。

 

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

 

 

 

3) 「ループアイテム」を作る - 各リストのデータを取得する
  • ステップ2では、2ページ目に移動しました。ですから、「Webページを開く」をクリックして1ページ目に戻ります。
  • 「ページネーション」をクリックします。
  • 一番目の物件名のタイトルをクリックすると、前の20つだけが識別されます。
  • 「操作ヒント」にある「すべて選択」をクリックします。
  • 「選択した要素のテキストを抽出する」をクリックします。
  • 30つのループアイテムがあるはずですが、わずか29つです。チェックした結果、「ループアイテム」の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

 

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


「保存する」をクリックします。
「抽出開始」をクリックします。

 

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

 

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

btn_sidebar_use.png
btn_sidebar_form.png