爬虫之广州二手房数据分析与可视化
本文基于链家网站数据,对广州二手房市场进行深入分析。研究采用Python爬取31,626条房源信息,通过数据清洗与可视化发现:广州各区房价差异显著,天河区均价最高(60,131元/㎡),从化区最低(13,199元/㎡);3室2厅户型占比最高(27.79%),符合主流家庭需求;词云分析显示购房者最关注采光和方正等房屋特征。研究还识别出珠江新城中等高价地段,为购房决策提供数据支持,揭示了广州二手房市场
文章目录
一、目标
近年来,伴随经济的迅猛发展,一线城市凭借丰富的资源与大量的就业机会,吸引了众多外来人口,逐渐成为人口高度密集的城市。在这其中,住房问题无疑是人们面临的关键难题。受传统观念 “成家立业” 的深刻影响,购房成家成为许多年轻人的首要选择。鉴于此,为了给人们提供便捷的途径以了解房地产信息,互联网上涌现出众多能够实时为用户提供准确楼房信息的平台。
本文运用 Python 的 requests、pandas、BeautifulSoup、tpdm、Lxml、re 和 time 等库,对链家网站的广州二手房数据进行爬取。随后,利用 Pandas 模块将获取的数据保存至 Excel 文件中,并借助 pyecharts、jieba、collections 等库对爬取的数据展开深入分析与处理,帮助购房者更好地了解市场行情,做出更明智的购房决策。
主要考虑以下几个问题:
1.广州各区二手房均价的差距如何?
2.哪个户型的需求是最高的?
3.消费者在选择房源时关注哪些因素?
二、数据来源与爬取
爬取数据网址(首先对爬取链接的地址分析):
登录广州链家二手房网址https://gz.lianjia.com/ershoufang/
然后翻页页面的 url 规律
第一页:https://gz.lianjia.com/ershoufang/
第二页:https://gz.lianjia.com/ershoufang/pg2/
第三页:https://gz.lianjia.com/ershoufang/pg3/
…
由此可推断,url 为 “https://gz.lianjia.com/ershoufang/pg” + 页码
所以确定所要爬取的网站
url =https://gz.lianjia.com/ershoufang/{}/pg{}/
for key_, value_ in area_dic.items():
# 获取该行政区下房源记录数
start_url = 'https://gz.lianjia.com/ershoufang/{}/'.format(value_)
html = sess.get(start_url, headers=headers).text
print('正在爬取:',key_)
print('========================================================================')
house_num = re.findall('共找到<span> (.*?) </span>套.*二手房', html)[0].strip()
time.sleep(1)
# 页面限制每个行政区只能获取最多100页共计3000条房源信息
total_page = int(math.ceil(min(3000, int(house_num)) / 30.0))
for i in tqdm(range(total_page), desc=key_):
html = sess.get(url.format(value_, i+1), headers=headers).text
soup = BeautifulSoup(html, 'lxml')
info_collect = soup.find_all(class_="info clear")
#防反爬
time.sleep(0.5)
for info in info_collect:
info_dic = {}
# 行政区
info_dic['area'] = key_
# 房源的标题
info_dic['title'] = re_match('target="_blank">(.*?)</a><!--', str(info))`
在上述代码中,使用 sess(requests.Session 对象)发送 HTTP GET 请求到构建好的起始链接,并获取页面的 HTML 内容作为文本,之后使用正则表达式从获取的 HTML 文本中提取该行政区下的房源记录数(house_num = re.findall(‘共找到 (.*?) 套.*二手房’, html)[0].strip()),最后再利用嵌套循环获取每个页面中每一套房的具体数据。
爬取之后结果部分截图如下:
爬取数据的存储如下,共31626条数据:
三、数据清洗
1.缺失值处理:
首先对爬取得到的缺失值进行处理,我们发现在title列和tax列有缺失值,由于缺失量过多且这两列为观察列,故采用前向填充处理,利用前面最近的非缺失值来填充当前的缺失值。
#缺失值处理
df.isna().sum()
# 使用前向填充处理缺失值
filled_data = df.fillna(method='ffill')
filled_data.isna().sum()

2.数据类型转换:
可以发现total_price、unit_price以及hourseSize为str数据,为后续方便分析与计算,将这三列数据转换为数值类。
df['total_price'] = df['total_price'].astype(float)
df['unit_price'] = df['unit_price'].astype(float)
df['hourseSize'] = df['hourseSize'].astype(float)
df.dtypes

3.数据分割:
可以看到在direction列中,有“南 东南”两个方位这种数据,对此本文利用裁剪,统一保留第一个数据,如“南 东南”变为“南”。
#数据分割
df['direction'] = df['direction'].str.split(' ').str[0]
df['direction']

最终数据如下:
四、数据分析和可视化
由散点图可以看出,广州二手房的总价范围大致在 0 到 10000 之间,面积范围大致在 0 到 1800 之间。总价最高为 9800,此时面积接近 1800。同时,可以观察到随着面积的增加,总价总体上有上升的趋势,但并非严格线性相关,存在一定的离散性。此外,在较低总价(如 4000 以下)和较小面积(如 600 以下)的区间内,散点分布较为密集,可能表示这一区间的房源数量较多。而在高总价和大面积的区域,散点相对较少,说明这类房源相对较为稀缺。
通过下面广州各个区二手房均价可以看出,广州各区二手房均价存在较大差距。天河区二手房均价最高,单价高达 60131.37 元;从化区二手房均价最低,单价只有 13198.85 元。这表明在广州,不同区域的二手房价格差异悬殊。
从图中还可以看出,越秀区的二手房均价也相对较高,可能仅次于天河区。而增城区、南沙区、白云区、黄埔区、番禺区、花都区、荔湾区、海珠区的二手房均价则处于中间水平,相互之间可能存在一定的差异,但相对天河区和越秀区来说较为接近。
这种房价差距可能与各区的地理位置、经济发展水平、配套设施等因素有关。例如,天河区和越秀区可能是商业中心、交通枢纽或拥有优质的教育资源,因此房价较高;而从化区可能相对较为偏远,发展相对滞后,导致房价较低。
从下面广州二手房均价TOP10小区可以看出,嘉裕公馆小区均价是最高的,均价高达17.5万元。top10小区分别是嘉裕公馆,誉峰,博雅首府,保利心语花园,利雅湾,星汇园,隽峰苑,富力天河华庭,嘉裕君玥公馆。
通过下面广州二手房户型分布可以看出,广州二手房户型最多的是3室2厅,占比27.79%,而3室也是对于传统家庭最适合的,其次是2室1厅。户型最少的是6室2厅,毕竟能买起这么大面积的房子的人也不多,而大城市更多是一家三口或者四口的家庭(开放二胎政策),对普通中产的家庭来说,3室和2室的户型才是最刚需且性价比高的户型。
另外广州二手房均价 TOP5 地段的价格差异较为明显。从高到低依次为珠江新城中(13.5 万元)、金融城(11.3 万元)、二沙岛(9.6 万元)、珠江新城西(8.4 万元)、龙口西(6 万元)。
其中,珠江新城中地段的均价最高,达到了 13.5 万元,这表明该地段可能具有极高的地理位置优势、配套设施完善或其他吸引购房者的因素,导致房价居高不下。
金融城和二沙岛的均价也相对较高,分别为 11.3 万元和 9.6 万元,说明这些地段也具有较高的价值和吸引力。
珠江新城西和龙口西的均价相对较低,但在广州整体房价水平中仍处于较高位置。

在词云图中可以看到,其中采光这个词的词频最高,其次是方正,这说明采光和房屋的方正格局是消费者在选择房源时非常关注的因素。此外,朝向、安静、精装修、交通、小区、配套等词汇也出现较多,表明这些因素也是消费者较为重视的。
五、小结
1.广州各区二手房均价的差距如何?
回答:根据广州各个区二手房均价可知,广州各区二手房均价存在较大差距,天河区最高,从化区最低。这主要是由于各区的地理位置、经济发展水平、配套设施等因素不同。天河区和越秀区通常是商业中心、交通枢纽或拥有优质教育资源,这些优势使得它们的房价较高;而从化区相对偏远,发展相对滞后,导致房价较低。二手房总价和面积范围跨度大,这与市场需求的多样性以及房屋的地段、品质等因素有关。不同地段的房源稀缺程度不同,也会影响房价和面积的分布。
消费者在购房时应充分考虑自身的经济实力和生活需求,明确购房目的。如果注重教育资源和生活便利,可以选择天河区、越秀区等区域;如果预算有限,可以考虑从化区等房价较低的区域。
2.哪个户型的需求是最高的?
广州二手房户型以 3 室 2 厅和 2 室 1 厅为主,这符合大多数家庭的实际需求,根据人民网(https://news.sohu.com/20100515/n272134221.shtml)指出,城乡综合起来 3 口之家占 36.5%,排第一,4 口之家占 25.0%,排第二,并且在城市,依然是 3 口之家排第一,4 口之家排第二,尤其是在大城市中,一家三口或四口的家庭居多,这些户型更能满足他们的居住需求。6 室 2 厅等大户型房源相对较少,主要是因为这类房源的购买需求相对较少,市场需求有限。大城市中,像广州这样的一线城市,3 室和 2 室的户型更能满足普通家庭的刚需,且具有较高的性价比。
3.消费者在选择房源时关注哪些因素?
通过词云图发现,采光、方正格局、朝向、安静、精装修、交通、小区、配套等是消费者在选择房源时关注的重要因素,这表明消费者对居住品质有较高的要求,也反映了市场对房屋的基本期望。
更多推荐
所有评论(0)