1. 项目背景
房地产是促进我国经济持续增长的基础性、主导性产业,二手房市场是我国房地产市场不可或缺的组成部分。由于二手房的特殊性,目前市场上实时监测二手房市场房价涨幅的情况较少,影响二手房价的因素错综复杂,价格并非呈传统的线性变化。
本项目利用Python实现某一城市二手房相关信息的爬取,并对爬取的原始数据进行数据清洗,存储到数据库中,通过 flask
搭建后台,分析影响二手房房价的各类因素,并构建递归决策树模型,实现房价预测建模。
基于大数据的房价数据可视化分析预测系统
2. 二手房数据
二手房信息爬取流程为,先获取该市所有在售楼盘,以 保定市 为例,其中,p1 表示分页的页码,因此可以构造循环,抓取所有分页下的楼盘数据。
base_url = ‘https://baoding.xxxx.com/community/p{}/’
all_xqlb_links = set()
for page in range(1, 51):
url = base_url.format(page)
# 获取 html 页码,并进行dom解析
# …
通过分析 html 页面的 Dom 结构,利用 Bootstrap 进行解析,获取楼盘的详细字段信息。
同理,获取楼盘下所有在售房源信息:
def get_house_info(house_link):
“”“获取房屋的信息”“”
headers = {
‘accept’: ‘/’,
‘accept-encoding’: ‘gzip, deflate, br’,
‘accept-language’: ‘zh-CN,zh;q=0.9,en;q=0.8’,
‘cookie’: ‘Your cookie’,
‘referer’: house_link,
‘sec-fetch-dest’: ‘empty’,
‘sec-fetch-mode’: ‘cors’,
‘sec-fetch-site’: ‘same-origin’,
‘user-agent’: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36’
}
response = requests.get(house_link, headers=headers)
response.encoding = ‘utf8’
soup = BeautifulSoup(response.text, ‘lxml’)
house_info = {
'链接': house_link,
'产权性质': '未知',
'房屋类型': '未知',
'产权年限': '未知',
'房本年限': '未知',
'唯一住房': '未知',
'参考首付': '未知',
'发布时间': '未知',
'总价': '',
'单价': '',
'房屋户型': '未知',
'所在楼层