物件を調べる(check.py)
6-1. まず1件だけ試してみる
①物件名を指定して、自動チェック対象の6サイト(ITANDI BB/いえらぶBB/いい生活Square/レインズ/エイブル/SUUMO賃貸業務サポート)の掲載をまとめて調べる。ATBBはログイン時に画像認証が導入されたため自動チェック対象外で、掲載確認はブラウザで直接ATBBにログインして手動で行う。
python3 check.py "グランドメゾン新宿"
③成功するとこう表示される(イメージ例)
物件名: グランドメゾン新宿
[ITANDI BB] 掲載あり -
- グランドメゾン新宿 305号室 | 12.0万円 | ○○不動産 | FAX 03-1234-5678
[いえらぶBB] 掲載なし -
[いい生活(いい生活Square)] 未ログイン - ログインセッションがありません。先に python3 login.py es を実行してください
[レインズ] ⚠ 要再ログイン - .envにREINS_ID/REINS_PASSWORDを設定してください(README参照)
サイトごとに1行ずつ結果が出る。「掲載あり」の行には、建物名・部屋番号・賃料・元付/管理会社(分かればFAXも)が追加で表示される。
④よくあるエラー:未ログインと出たらSTEP 5のログインをやり直す。要再ログイン(.envに...を設定してください)と出たらSTEP 4の.envの値を見直す。
6-2. 号室まで指定する
python3 check.py "グランドメゾン新宿" --room 201
--roomのあとに号室を書くと、その部屋だけに絞って調べる。
6-3. 特定のサイトだけ調べる
python3 check.py "グランドメゾン新宿" --site itandi,ielove
サイト名はitandi / ielove / es(いい生活) / reins(レインズ) / able(エイブル・ログイン不要) / suumo(SUUMO賃貸業務サポート) / atbb(ATBB・画像認証のため手動確認)から、カンマ区切りで必要な分だけ指定する。--siteを省略すると6サイト+ATBBすべてを調べる(ATBBは指定しても「画像認証」と表示されるだけで、実際の掲載確認はブラウザで直接ログインして手動で行う)。
6-4. レインズで都道府県を指定する
python3 check.py "グランドメゾン新宿" --site reins --pref 神奈川県
--prefを省略すると「東京都」で検索される。レインズ以外のサイトでは無視される。
6-5. 結果をJSON形式で受け取る(他のプログラムに読み込ませたいときなど)
python3 check.py "グランドメゾン新宿" --json
機械可読な{"bukken": ..., "room": ..., "results": [...]}形式のJSONが出力される。
6-6. 複数の物件をまとめて調べる(バッチモード・その1:直接並べる)
python3 check.py "物件A" "物件B" "物件C"
物件名をスペース区切りで並べるだけで、まとめて調べられる(1件だけの場合と表示形式は変わらない。2件以上を指定すると自動的にバッチモードになる)。
6-7. 複数の物件をまとめて調べる(バッチモード・その2:ファイルで渡す)
①物件名を1行1件で書いたテキストファイル(例:list.txt)を用意する。行の先頭に「1.」「2.」「③」のような番号が付いていても自動で取り除かれるので、そのままでよい。
1.レインボーハイツ
2. サンシャイン新宿
③ グリーンヒルズ渋谷
このファイルをlist.txtという名前でbukken-checkフォルダに保存する(open -e list.txtで新規作成・編集できる)。list.txtは.gitignore対象なので、実際の物件名を書いてもGitHubには上がらない。
python3 check.py --file list.txt
③成功するとこう表示される(末尾のサマリー表、README記載の例)
=== サマリー ===
物件名 ITANDI BB いえらぶBB いい生活(いい生活Square) レインズ
------------------ --------- ---------- -------------------------- --------
レインボーハイツ ○ × ○ 要ログイン
サンシャイン新宿 × × × ×
物件ごとの結果が1件ずつ表示されたあと、最後にこのサマリー表がまとめて出る。○=掲載あり、×=掲載なし、「要ログイン」=ログインし直しが必要、「エラー」=失敗。
⚠ まとめて調べられるからといって、何十件も一度に流し込まないこと。サイトに負荷をかけたり、アカウントが止められたりするおそれがあるため、数件〜十数件程度の常識的な範囲にとどめる。
結果ステータスの読み方(早見表)
| 表示 | 意味 |
掲載あり(found) | 掲載あり。建物名・部屋番号・賃料・元付/管理会社などが表示される。 |
掲載なし(not_found) | 掲載なし。 |
未ログイン(no_login) | ITANDI BB・いい生活で、まだlogin.pyを実行していない状態。STEP 5を行う。 |
要再ログイン(login_required) | セッション切れ、または.env未設定。STEP 4・5を見直す。 |
要画像認証(captcha_required) | ATBBのみ。ログイン時に画像認証(reCAPTCHA)が導入されたため自動チェック不可。ブラウザで直接ATBBにログインして手動で確認する。 |
※able(エイブル)はログイン概念が無くlogin.pyも.envも不要。suumo(SUUMO賃貸業務サポート)は.envのSUUMO_ID/SUUMO_PASSWORDで毎回自動ログインする。 |
エラー(error) | 失敗。もう一度同じコマンドを実行してみて、それでも直らなければSTEP 9へ。 |
実行のたびにlogs/checks.jsonlへ自動で記録が残るので、自分でメモを取る必要はない。