スクレイピングを使って不動産情報を自動収集するプログラムを作成しました。
(プログラムの概要)
JR芦屋付近の賃貸マンションを探しているので情報がほしい。こんな要望があったと仮定して、プログラムを作成してみました。
以下、ホームページの画面遷移を示します。





「JR芦屋」にチェックを入れて絞り込み (自動実行)


この画面から不動産情報を自動で取得します。
<実行結果>
間取り、賃貸料金、駅までの所要時間など、住まいを検討するのに有用な情報を収集できました。また、データはEXCELなどのスプレッドシートで利用できます。
自動収集されたデータの詳細はこちら Google Sheet
今回のプログラムでは詳細情報の1ページ目だけを収集しましたが、コードを追加するれば、このホームページのすべての情報を収集する事が出来ます。
データ収集に要する時間は1分以内でしょう。 これはかなり便利です。
今回のPythonプログラムはこんな感じです。 強力なライブラリーのおかげで短いプログラムで実装できます。
# 自動制御用のライブラリーをインポート
from selenium import webdriver
from time import sleep
browser = webdriver.Chrome('chromedriver.exe')
# ブラウザーを立ち上げる
browser = webdriver.Chrome('chromedriver.exe')
# 関西 --> 中古マンションを選びクリック
elem_login_btn = browser.find_element_by_class_name('ui-btn')
elem_login_btn.click()
elem_areabox = browser.find_element_by_class_name('areabox--hyogo')
elem_areabox = elem_areabox.find_element_by_class_name('areabox-link')
elem_areabox.click()
kaishaBox = browser.find_element_by_id('kaishaBox_001_rnBox2420')
kaishaBox.click()
elem_ui_btn = browser.find_element_by_class_name('searchpanel')
elem_ui_btn =elem_ui_btn.find_element_by_class_name('ui-btn')
elem_ui_btn.click()
# JR芦屋駅付近の物件を検索
eki = browser.find_element_by_id('la242000943')
eki.click()
elem_ui_btn = browser.find_element_by_class_name('searchbox')
elem_ui_btn = elem_ui_btn.find_element_by_class_name('ui-btn')
elem_ui_btn.click()
cassetteitem =browser.find_elements_by_class_name('cassetteitem')
len(cassetteitem)
text1 = cassetteitem[1].text
# 取得したデータをCSVファイルへ書き出し
file = "sample.csv"
fileobj =open(file,"w",encoding="utf_8")
i = 1
for i in range(1,len(cassetteitem)):
text1 = cassetteitem[i].text
text1 =text1.replace('\n',',')
fileobj.write(text1+"\n")
fileobj.close()






