今日は6時半起き。
大阪府の中古マンション物件の調査(28)
1.「神奈川県下の中古マンション市場を分析してみる」
(1)suumoのサイトからpythonのスクレイピングで中古マンションのデータを
収集する記事を発見
(2)サンプル・コードが2019年と古い為、今も有効か確認
→ Google Colab pro で実行する
→ 総件数は、取得できたが、肝心のマンション情報取得のコードが無い?
→ pd.read_html で地道に取得コードを作成していく
(3)suumoの賃貸をスクレイプするコードがあったので、そちらを試す。
timeoutでエラーになる。HTTP経由でアクセスする場合、よく起こる。
エラーを検知してリトライする必要がある。
(4)pd.read_html で物件名を取り出そうとするが、うまくいかない。
いろいろ試してみる。
(5)pd.read_html で物件名とその他の情報を取り出せた。
しかし、画面を見ながらコードを書くのでめっちゃ時間がかかる。
(6)pd.read_htmlをやめて、画面を表示して、「検証」コマンドで、
htmlソースを見ながら、要素を1件ずつ取り出すと、「物件名」や、
「価格」が取り出せた。但し、同じ「class-id」があると取り出せない。
2.「吹田市の中古マンション市場を分析してみる」
(1)中古マンションの一覧を作成する。
(2)各マンションのurlからhtmlを取り出して、マンション名を取得したが、
5件中2件しか、物件名を取り出せない。
(3)Qiitaでsuumoから中古マンションのデータをスクレイピングするコードを
見つけた。実行すると、東京のマンションデータを抜き出せた。
吹田のデータに変更しても、実行できた。但し、昼間に実効したため、
http 104 エラーでストップ。対策が必要。
(4)吹田市の中古マンションをスクレイピングできた。嫁に送って、
見てもらった。iPadのNumbers で見れた。
(5)分析のための、地価と駅地価のデータがマージできない。
(6)地価と駅地価のデータがマージできないのは、エラー処理が無いためと
仮定して、 TRY を入れたコードで実行してみる。
(7)サンプルにしてる Python コードを良く見てみると東京「都」を想定して
「市区町村」を抜き出していた。「都」を大阪「府」にすると解決した。
3.大阪府の中古マンションの分析の為の前処理
(1)スクレイピング・データを前処理方針に従って、分析しやすい形式に
変換していく。
(2)マンション価格を数値に変換する際に、想定外の文字があり、エラー。
"\n" と "※権利・・・" があった。前処理の修正が必要。
(3)最寄り駅情報から、「路線」、「駅名」、「手段」、「時間」に分ける、
処理が「invalid character in identifier」でエラーになる。
(4)吹田市のスクレイピングデータが混在していたために、エラーになる。
最初から順番にやり直したら、分析までできた。
4.大阪府の賃貸物件も分析して、中古マンション購入のリスク・ヘッジする
(1)東京23区の賃貸情報をSUUMOからスクレイピング・Pythonコードを
見つけた。実行してみると、かなり時間がかかるようだ。
(2)大阪府の賃貸物件をスクレイピングする。
327,034件と件数が多くて、時間がかかる。
物件に重複が見られる。アクセスには、欠損値がある。等。
中古マンションと違って、データ・クレンジングが必要。
(3)大阪府の賃貸物件をスクレイピングに一晩かかった。421,081件。
中古マンション物件の40倍ある。重複データも多いようだ。
5.大阪府の北摂地域の賃貸物件も分析してみる
(1)大阪府全体だと件数が多すぎるので、北摂地域に限定してスクレイピング。
6.スクレイピング結果をWEBから見れるようにDJangoの勉強
(1)WEB + DB PRESS VOL.122 特集で WEB の仕組みをおさらい
(2)Qiit 記事から Django 入門を実施するも環境構築で躓く。
7.住宅図面と写真から3D化できないか調査する
8.Pythonだけで地図表示できるパッケージを紹介するサイトを見つける。
(1)Google Colabo で試すと 10行足らずのコードで地図を表示した。
但し、住所から GIS(地図表示に必要) を取得には、別記事がある。
(2)スクレイピング・データを移して、 Google Colab で表示する準備をした。
(3)macOS の Python3 環境をチェックする。
(4)macOS ターミナルを勉強中。UNIXの知識を忘れてる。