団地物件のExcel収集ツール
物件を1件ずつ開いて書き写していた作業を、対象の団地を選んで実行するだけで物件詳細が自動で集まり、2種類のExcelに出力される仕組みにしました。Pythonをインストールしなくても、実行ファイル1つで動きます。
団地の物件詳細の確認
以前
物件ごとに画面を開いて確認
以後
団地選択後、実行1回・Excel整理
画面はお客様情報保護のため、同じ機能をモックデータで再構成したものです。
背景
見るべき団地があらかじめ決まっている業務があります。6か所を決めておき、その団地にいま物件が何件出ているか、条件はどうか、昨日から何が変わったかを毎日確認し続ける必要があります。
現場の状況
物件を1件確認するには、一覧からクリックして詳細を開き、必要な項目を目で読んで書き写します。団地が6つなら6回ではなく、物件の数だけ繰り返します。そしてその作業は、翌日また最初から始まります。
課題
課題は集めることより、最後まで集めきることでした。物件を立て続けにリクエストすると、途中で応答が途切れます。一度途切れた箇所をつなぎ直せなければ、その日の収集は半分だけになってしまいます。
開発内容
- 団地の選択と収集量の指定 — 登録済みの団地の中から希望する場所だけを選び、取得する物件数を1~1,000件の範囲で決めます
- リクエスト間隔の調整 — 物件と物件の間に置く待機時間を最小・最大(各1~30秒)に設定すると、その範囲内でランダムに待機します。既定は2~5秒です。一度に詰めて送らないことが、結果として最後まで集めきることにつながります
- 進捗状況を画面に — 全体の進捗率、今どの段階か、何件目の物件か、そして1件終わるごとにログ1行。時間のかかる作業は、進捗が見えないと止まっているのかどうか区別できません
- 失敗が続けば止まります — 連続失敗が決められた回数を超えると収集を中止します。空のデータを積み上げ続けるよりも確実です
- Excelは2種類 — すぐ読める整理表と、取得した元データをすべて展開した表を一緒に出力します。整理表は34項目に固定し、空の列と重複行を除きます。展開した表の項目数は、収集された物件の構成によって変わります(納品フォルダに残った2つのファイルがそれぞれ428項目と696項目)
- インストール不要で実行 — Pythonのインストールやコマンドラインなしで、実行ファイル1つで起動します。実行すると空いているポートを見つけてブラウザが自動的に開きます
結果
団地を選んでボタンを押すと物件が1件ずつ収集され、完了するとExcelがフォルダに保存されます。画面の「Excelフォルダを開く」から、そのフォルダをすぐに開けます。
同じ方式で手がけた事例はWebデータ収集にまとめています。