基于Python爬虫的南京市二手房市场现状分析和热点研究
2021-02-26冯崇军
冯崇军
(南京卫生高等职业技术学校,江苏 南京 210046)
1 引言
房地产市场是关乎国计民生的重要经济产业,近期中央多个部委召开会议强调保持楼市调控政策的连续性和稳定性,在“房住不炒”基调指导下,地方政府在房地产监管上因城施策,南京作为长三角区域的房市热点城市,调控政策也聚焦稳低价、稳房价、稳预期等方面持续发力,力争确保房地产市场平稳健康发展。本文选取南京地区二手房市场作为研究对象,使用Python 爬虫采集网上的二手房源挂牌信息,以爬取的信息数据为分析依据,从价格趋势、房源类型、热点区域等多个维度分析二手房市场的现状,并将分析结果数据进行可视化处理,方便用户参考决策。
2 二手房源数据采集和预处理
2.1 数据来源及变量设计
由于城乡二手房源的价格悬殊,且偏远郊区的房源流通性很小,本文仅爬取南京市热点城区的在售二手房数据进行分析,对二手房市场的现实状况进行多维度分析。此外,由于各城区二手房样本量超过3000之后信息会出现大量干扰或无效信息,进行筛选分析后决定爬取各区约3000份房源样本,并剔除了面积在10000平方以上特殊房源。通过网页研究,我们将各主城区二手房源的小区、地段、面积、建设年代、朝向、装修、税率、价格等信息作为研究变量,从而确定Python爬虫需要从网站抓取的数据范畴。
通过对市场认可度较高的搜房网、安居客、链家网等二手房挂牌网站进行的初步观察统计发现,链家网依托分布广泛、覆盖全面的线下门店系统,能够实时动态更新其网站的二手房信息,并能对海量的房源数据进行严格审查,从而确保网站数据的真实可靠,能够很好地反应南京当地的二手房市场现状。
2.2 数据爬取过程设计
Requests 库作为Python 常用的HTTP 库之一,在友好继承urlib标准库的规范的基础上,对主要的爬虫模块进行了高度封装,便于用户更加方便快捷地进行web 数据的爬取操作。其中requests.get()是获取网页的方法,如r=requests.get(url),r是一个Response对象,Request对象包含爬虫返回的服务器资源,可以使用get(url)方法构造一个向服务器请求资源的Request。
为了有效应对网站的反爬虫机制,本研究对爬虫的请求头进行了伪装处理,在头部信息中添加了特定的浏览器表示和访问地址,使得HTTP请求在实际运行中能够模拟人的操作。循环爬取每个行政区至少3000个房源信息,利用BeautifulSoup对站点数据进行解析,从中获取房源标题、小区、位置、税率、总价、单价等信息,通过“|”切割房源标签,获得面积、朝向、装修、建设年份等,并将数据结构化处理存入DataFrame。关键代码如图1所示。
图1 Python爬虫构造房源数据集的关键代码
2.3 数据结构分析及预处理
从二手房网站共计爬取到24080个房源信息,其中存在空值、重复值、数据格式不规范等问题,为了保证后期分析研究的信效度,在使用前需要对数据进行预处理。重复值主要表现为数据重复行,使用drop_duplicates()方法直接删除存在重复的数据行。对于空值的处理,根据房源数据的实际表述形式及研究的需要,对不同字段的空值采用了不同的处理方式,对行政区、房源标题、地段、小区、面积、户型、价格等关键字段存在空值的情况,直接使用dropna()方法删除该房源数据,对于税率、朝向、装修及建设年份字段存在空值的房源,按小区字段排序后,使用df.fillna()方法插入上下文数据进行填充。由于链家网站对房源数据的审核严格,所爬取的房源数据普遍格式规整,主要朝向及建设年份两个字段存在不规范的数据,以小区、面积字段作为关键字排序后,使用同小区近似面积房源的上下文数据对异常值进行替换填充。数据清洗和预处理后的主要代码如图2所示。
图2 通过Python爬虫获取的二手房源数据集缩略图
3 二手房市场现状分析及数据可视化
3.1 二手房挂牌数据的可视化分析
数据可视化能让人们更直观地了解数据所表达的信息。Echarts 是百度开源的一个数据可视化JS 库,主要用于数据可视化。Pyecharts 是一个用于生成Echarts 图表的类库,即用Python 编码创作Echarts 图表的专门模块。对南京市区的24000套二手房源按总结及面积进行关联分析,形成了面积—总价的散点图,由图3 可见,南京市区的二手房以500 万的总价为界限,面积与价格呈现的相关性有明显的分化趋势。其中,200平方米以内的二手房源,总价与面积的相关性更强,与市场上二居室、三居室二手房量占比较高的事实相符,也会刚需购房者的首选,侧面印证了较小户型的房源在挂牌出售时买卖双方对价格的敏感度更高的现实情况。而200平方米以上的大户型房源,随着面积的增加,与总价的相关性逐渐变弱,尤其是300平方米以上的户型房源的总价—面积离散度更高,大户型房源以四居室、五居室、别墅等特殊户型为主,是改善性购房者的主要目标,但由于总价高而带来的巨大资金压力,买卖双方对于房源的装修条件、小区环境、位置地段及周边配套等环境因素的考量会更多,因而房源面积的细微差别并不会影响市场主体的成交意向。
图3 南京市二手房源总价—面积散点图
二手房市场的情况从房源的分布地段可以得到体现,如图4 所示,在南京二手房均价TOP10 地段的柱状图中,鼓楼区作为省级机关的集中地,也是南京的科教中心,其二手房价长期占据高位,且受到学区房政策的利好推动,二手房价格节节攀升,在均价TOP10地段中占据2/3的优势。其次,玄武区是南京市的行政中心,其科教文旅产业优势突出且发展均衡,玄武门及北京东路区域有优质学区的加持,其二手房价格也普遍较高,且相当坚挺。唯一进入TOP10的新城区是奥体地段,作为河西新城的核心区,凭借政府的超前规划及大量优质房企数十年的精耕细作,金融、体育、文旅、科技等产业已初成规模,且区域环境、交通条件得天独厚,随着一批优质学校的进驻,二手房价格持续走高,已有比肩鼓楼、玄武的实力。
图4 南京市二手房均价TOP 10 地段
二手房市场的情况,也可以从房源本身的户型结构进行分析,通过对南京市场的二手房源户型进行统计分析,可视化生成了各户型分布的饼图,由图5可见,两室一厅、三室两厅户型构成了南京二手房市场的主力户型,这也体现了购房者对传统户型房源高度认可,传统的户型结构得房率高、采光通风较佳,更加契合购房者的居住习惯,也能带来更好的生活体验。其次,三室一厅及两室两厅的户型也占比较高,作为小户型房源中的特殊户型,对于年轻的购房者更加有吸引力。其他的大户型房源及单室套房源相对较少,主要是面向改善性需求的家庭购房者或单身客户。
图5 南京市二手房户型分布饼图
3.2 二手房市场热度研究
经过观察研究常用的二手房网站,可以发现,业主和中介更倾向于在房源标题中用特定的词语来描述并突出房源的优势,以此吸引购房者的注意。为了更加准确直观地分析南京市二手房源的市场热点,对数据集的房源标题字段进行分词处理,并统计词频,然后使用WordCloud()方法绘制词云图,以词云图的形式来展示二手房源的市场关注热点。
如图6,从二手房源标题分词的统计情况来看,“采光”一词的出现频次最高,这与南京市场的二手房房源现状有显著关系,从数据集中的二手房建设年份来看,房龄在10年以上的二手房占比达到76%以上,而房龄在20年以上的老房子占比是36%,对于市区建设年份较早的房源,普遍存在楼间距小、低层住宅多、周边高层建筑遮挡视野等问题,采光状况直接关系到业主的居住体验,所以采光问题受到购房者的重点关注。同时,“楼层”“户型”作为二手房源的客观属性,在二手房卖点的宣传中占据了主要地位,与此相关的“黄金楼层”“南北通透”“户型方正”“朝南”等词频也普遍较高,这些因素均与房屋的居住体验密切相关,也侧面证明南京市场的二手房购买者主要以自住为目的,与新房的投资属性截然不同。其次,“精装修”“配套”“交通”“便利”等词语在房源标题中的出现频次也较高,可见关于房源内装档次、周边配套及交通便利性等环境指标的水平也受到二手房市场参与者的重点关注。从有关房源描述的热点词云图来看,购房者的自住需求是二手房市场的主导因素,房源的硬件属性及环境指标是影响买卖双方形成成交意向的主要决定因素,进而也表现为南京二手房市场的热点。
图6 南京市二手房源市场热点分析图
4 结语
本文通过编码设计实现Python爬虫,并运用Pandas、Pyecharts 等扩展库对爬取的南京市二手房数据集进行结构化处理及分析,采用丰富的可视化图形直观呈现了南京市二手房源的价格、面积、户型、区位等分布现状及市场热点。研究发现,以鼓楼、玄武为代表的主城区二手房源,源于学区、交通、环境配套等因素的巨大优势,均价普遍较高,处于第一梯队。以奥体为代表的河西新城片区,受益于产业定位高、立体交通覆盖及名校学区资源的加盟等因素,二手房均价也遥遥领先。同时,研究发现南京市挂牌的二手房源中,10年以上房龄的二手房源占比达到76%,传统的两室一厅、三室两厅户型的房源占据主力地位,二手房市场的买卖双方则更加注重房屋的居住感受和生活体验,可见南京市场二手房的投资属性相对较弱,更多地倾向于满足潜在客户的刚性居住需求。随着国家房产调控政策的不断优化,二手房市场的发展必将更加分化和多元,积极探索使用大数据技术分析当前的二手房市场,并高效预测未来的二手房变化趋势和行业热点,必能合理引导二手房市场的参与者理智决策,促进房地产经济的健康发展。