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) 「Go To Web Page」 - 内蔵ブラウザで対象のWebページを開く
2) ページ遷移のループを作る - 複数のページからデータを取得する
3) 「Loop Item」を作る - 各リストのデータを取得する
4) データを抽出する - 抽出したいデータを選択する
5) Xpathカスタマイズ - データ取得を正しくする
6) 抽出タスクを始める - タスクの実行を行いデータを取得する

 

 

1) 「Go To Web Page」 - 内蔵ブラウザで対象のWebページを開く
  • 「Advanced Mode」を選択し、タスクを作ります。 自由度の高い「Advanced mode」は、複雑なウェブサイトを対応できます。
  • URLを入力して「Save URL」をクリックします。
  • 「Workflow」をオンにするとタスクの作りはやすくなります。

2) ページ遷移のループを作る - 複数のページからデータを取得する
  • ページのある「次へ」ボタンをクリックし、「Action Tips」パネルから「Loop click the selected link」を選択します。
  • チェックした結果、 ページ遷移のXpathは間違いました。「single element」に正しいXpathを入力します。
    //a[text()='次へ']

 

3) 「Loop Item」を作る - 各リストのデータを取得する
  • ステップ2では、2ページ目に移動しました。ですから、「Go To Web Page」をクリックして1ページ目に戻ります。
  • 「pagination」をクリックします。
  • 一番目の物件名のタイトルをクリックすると、前の20つだけが識別されます。
  • 「Action Tips」にある「Select all」をクリックします。
  • 「Extract text of the selected element」をクリックします。
  • 30つのLoop Itemがあるはずですが、わずか29つです。チェックした結果、「Loop Item」のXpathは間違いました。「Variable list」に正しいXpathを入力します。

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

 

4)データを抽出する - 抽出したいデータを選択する
  • 一番目の「Loop Item」をクリックして、ワークフローにある「Extract data」をクリックします。
  • 必要なデータをクリックし、「Action Tips」にある「Extract data」を選択します。
  • 必要に応じて、フィールド名を編集します。

ヒント!

各行のデータを一緒に選択するのは「Action Tips」にある拡大ボタンをクリックしてください。

 

 

 

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

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

  • 直すデータを選択し、「Customize data field」をクリックします。
  • 「Customize Xpath」をクリックします。
  • 「Relative 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) 抽出タスクを始める - タスクの実行を行いデータを取得する

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

 

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

 

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

btn_sidebar_use.png