不動産物件リサーチ自動化ツール「House Scout」

更新日: by Shohei

House Scout不動産リサーチ自動化ツールのインターフェース概要

物件探しのときに面倒な「候補集め」「条件の比較」「レポートまとめ」を自動化したくて、PythonでHouse Scoutというツールを作りました。

裏側では、ブラウザ自動化で物件情報をスクレイピングし、データを綺麗に整えてから、LangChain経由でLLMに条件適合度を評価させています。最終的には、おすすめ順のMarkdownレポートとCSVが自動で書き出される仕組みです。

単にスクリプトを書き捨てるのではなく、収集からクレンジング、LLM評価、テストやコードの整形(Lint/Format)までを一貫した一本の処理パイプラインとして動かせるように作り込みました。

GitHubリポジトリを見る

解決したかった課題

自分で家を探してみて痛感したのが、物件の比較作業のめんどくささです。数十件の候補を見比べながら、価格や広さだけでなく、通勤のしやすさや周辺環境まで頭の中で整理し続けるのは、正直かなり骨が折れます。

しかも、物件情報には「閑静な住宅街」や「買い物に便利」といった文章で書かれた情報も多く、これらは数値だけでフィルタリングできません。その日の気分や疲れ具合によって、物件の良し悪しの判断がブレてしまうのも悩みでした。

そこでHouse Scoutでは、スクレイピングで自動収集したデータを整理し、LLMに一定の基準で下調べ(プレ評価)をさせることで、物件探しの手間と判断のブレを減らすことを目指しました。

LLMによる評価とスコアリング

集めた物件データは、あらかじめ指定したルールに基づいてLLMに読み込ませ、強みや懸念点を整理します。価格や広さといったスペックだけでなく、紹介文の細かいニュアンスや、最寄り駅からのアクセスなども踏まえて評価します。

具体的には以下の4つの軸で評価し、最終的におすすめ順のスコアとコメントを生成するようにしました。

評価軸 評価内容 評価時のポイント
通勤アクセス 最寄り駅、徒歩分数、主要エリアへの移動しやすさ 通勤負荷が高すぎないか、乗り換えや駅距離に懸念がないか
物件スペック 価格、面積、間取り、築年数、建物種別 希望条件に対して狭すぎないか、古さや間取りに注意点がないか
立地・周辺環境 物件説明文、住所、周辺施設、生活利便性 日常生活のしやすさ、静かさ、子育て・買い物・交通面のバランス
総合推薦度 条件適合度、メリット、懸念点、比較優位性 候補の中で優先的に内見すべきか、見送る理由があるか

技術構成

House Scoutの処理フローと技術構成
候補の収集からクレンジング、LLM評価、レポート出力までの流れ

物件情報の取得からレポート出力までの仕組みは、Pythonで実装しています。使った技術やライブラリは以下の通りです。

  • Python:全体の処理フローの制御と実行。
  • Playwright:物件情報のスクレイピング。JavaScriptで描画されるコンテンツも確実に取得します。
  • pandas:取得した物件データの整理。重複の削除やCSV出力を担当。
  • LangChain / LLM API:物件データとプロンプトを組み合わせた、条件の自動評価。
  • Markdownレポート出力:LLMが評価した結果を、人が見やすいレポート(Markdown形式)として書き出し。
  • pytest / ruff / uv:テストコードの実行、コードの自動フォーマット、Pythonパッケージの管理。

データ処理の流れ

  1. 物件情報のスクレイピング:あらかじめ指定したURLや条件に沿って物件ページを巡回し、家賃、広さ、駅徒歩、紹介文などを集めます。
  2. データの整理(クレンジング):ダブっている物件を削ったり、情報の抜け漏れを補正して、LLMに渡しやすくします。
  3. LLMでの自動評価:こちらの希望条件と物件情報をプロンプトで組み合わせ、メリット・デメリットをAIに整理させます。
  4. スコア付けと並び替え:評価をもとに各物件のスコアを算出し、おすすめ度が高い順にソートします。
  5. 最終レポートの作成:絞り込んだ候補リスト、評価理由、内見時にチェックすべきポイントをMarkdownレポートに書き出し、同時に生データもCSVとして保存します。

実際の出力例

このツールが自動生成する出力データのサンプル(デモ)は、以下のリンク(GitHub)からご確認いただけます。

作ってみて分かったこと

  • めんどくさい作業からの解放:サイトを何回も往復してスプレッドシートにコピペする作業がなくなり、本当に検討したい物件だけに時間を割けるようになりました。
  • 文章ニュアンスの自動整理:数値スペックだけでなく、「日当たりが良い」「スーパーが近い」といった紹介文のテキストも、LLMを使うことで自動的に評価軸に組み込めました。
  • 実用的なアウトプット:スコア順のリストと懸念点の一覧があるだけで、次に「どの不動産屋に連絡するか」の意思決定がかなりスムーズになりました。
  • 学習用リポジトリとしての再現性:スクレイピング、LLM連携、データ処理、レポート生成の流れを確認できるよう、公開用には個人情報や実際の認証情報を含めない構成にしています。

使う際のお願いと注意

このリポジトリは、スクレイピングやLLM連携の学習用に公開しているものです。実際にスクレイピングを行う際は、対象サイトの利用規約やアクセス頻度に十分注意し、サーバーに負荷をかけない紳士的なプログラムとして動かしてください。

また、LLMの評価はあくまで下調べの補助です。実際の状態やハザードマップ、細かい管理規約などは、必ず不動産会社に問い合わせたり現地を見て判断してください(AIが最高と評価しても、実際に見たらイメージと違うことはよくあります)。

Portfolio 他のポートフォリオ



Portfolio一覧を見る