张禄成,陶冶,崔文华
[中图分类号] TP393.09
[文献标志码]A
[文章编号]2095-6487 (2021) 02-0157-02
Python-based Data Crawling and Analysis of Second-hand Housing in Anshan City
Zhang Lu-cheng,
TaoYe,
CuiWen-hua
[ Abstract] Witri the rapid development of the Intemet, we have entered the era of big data. In the current era of big data, how to obtain usefulinformation has become a major problem. The article takes second-hand houses in Anshan City as an example, and uses Python to analyze and visualize thesecond-hand houses in 58 same city to show the information of second-hand houses in Anshan C.ity. Through the analysis of these second-hand houses, wehave also obtained some price analysis charts about the price information of second-hand houses in Anshan City
[ Keywords] Py~hon; data visualization; crawler
互联网的快速发展,使人类社会的信息越来越多。经济的快速发展导致年轻人在刚毕业时无法购买到价格适宜且环境舒适的房屋,租房成了热门选择。目前学者对住房价格差异研究方法有两类:一类是创立特征价格模型,即对房子的各个因素进行量化考量并权重加分计算。第二类是使用GIS技术和地统计学,对住房价格进行一些地理规律的考量。【1】综合以上两种方法,分区分块、分户型和而积的研究房屋价格的影响因素。
Python是当今大热一门编程语言,其拥有良好的生态,尤其是在数据处理和数据分析方而具有高效快捷的优点。而对复杂的二手房数据信息,Python可以快速对这些数据进行爬取与清洗。
首先要进行房源基本信息的爬取以获得当前最新的数据,本文针对58同城(https://as.58.com/ershoufang/pn)上的二手房进行数据爬取。网络爬虫,Python有属于自己的库以供使用者爬取信息。该爬虫是以对58二手房信息网站进行数据爬取保存在本地文件夹中。本次数据分析爬虫总爬取的有效数据统计2300个,以下数据和图表电均为该数据所获得的结论。
对于二手房数据的爬取,选用Requests库和Lxml下的Etree库对所要爬取数据的网站发送请求加上xpath插件对网页进行解析,最后把我们所需要的数据爬取出来放在本地的csv或者txt格式文件中。爬虫部分的编写选用Pycharm环境编译。简单来说这个爬虫的工作原理就是先通道第三方库Requests传入URL参数(可简单理解为网页链接),对该网站的维护服务器发送请求,在得到服务器的请求之后便可以获取网页的信息,通过xpath插件对网页进行解析再获取更精确的信息。原理如下图1所示。
数据清洗是为了数据分析的规范化操作为了避免所爬取获得的数据部分具有重复、遗漏、错误的数据或者符号多余等。通常在数据清洗这一块,我们使用第三方库pandas去实现,所使用的编译环境为Anaconda。
首先需要把文件导入Anaconda的Jupyter Notebook中。使用Duplicated()等方法来判断是否有重复值和删除重复值。之后再使用Dropna()方法来删除文件中的缺少值数据记录。如果缺失情况严重应检查爬虫程序是否出现错误或者导入Jupyter Notebook格式是否错误,否则就会影响最终数据分析的结果正确性[2]。最后应检查数据是否符合规范。数据清洗的基本流程如图2所示。数据处理完毕后应该注意数据的格式是否一致。处理后的数据如图3所示。
数据可视化技术将数据转化成图形图表,为决策提供依据[3]。在数据清洗完成之后需要再检查数据的正确性和是否育异常值的存在,如果存在异常值需要进行数据更改或者直接删除数据,在保证数据的正确性之后便可以开始数据的可视化分析。在进行了必要的异常值处理之后,数据并没有明显的异常值,所以可以继续后续的操作。
在抛去所有异常值、缺失值以及重复值之后,剩余的数据量为1364条数据,针对这1364条数据将进行如下的可视化操作。其中将所有信息,总按区分类如图4所示。
如图4所示,在58二手房网站上爬取的鞍山市二手房收据共有7个分区,其中可能因为58网站上的数据不太齐全,导致部分区域数据过于少,上图中包含各分区在58二手房网站上在售的区块总面积、总金额、每平米的甲均租金和数量有了概括的描述。在上图中用户可以轻松地获取所售房源概括。
图5为鞍山市二手房的户型结构,图5统计出了目前在58二手房网站上正在出售的二手房户型,其中为了使数据看起来更加整洁可靠,将上而的户型筛选了一遍,减去了户型数量小于10户的户型即个别的特殊类型。一是为了数据的整洁性,二是为了向用户提供更加真实且大众的数据信息来源。
图6为鞍山市二手房在各分区的房源及各区块的二手房每下米价格分布情况,其中折线为该区块的平均房价,柱状图为该区块的在售的二手房总量。由此图可大概推断一个城市的繁荣情况,房源数据多的说明聚集人口多,往往说明该区域为城市的重点经济地区,经济活动繁盛。房源数据较少的区块可能为该城市的新城区,未经历完开发,具有良好的市场潜力,如果加以政策扶持就可能成为城市的经济中心。
图7为鞍山市二手房的而积分析图,该图为一个饼状图。可以使用户清晰地看到目前在租房网站在售的二手房的而积的房源最多且也可了解目前受欢迎的面积为多人,一般来说有市场的二乎房而积一定为所在最多比例的而积,这也可侧面也显示出鞍山市的一些经济状况。通常经济越发达的地区的房价就会越高,就导致租房也得考虑到经济实惠的方而往往不会去租较大的房屋。
人数据时代的来临,数据分析逐步成为重要工具之一。在这个信息庞大的时代更加精确且快速地获取有用的数据就必不可少一些数据分析工具。Python语言因其简单性、简洁性将会成为新时代的重要语言之一。基于Python的爬虫来获取网络的信息,并且将以可视化图表的方式反馈给用户,把爬取的信息进行清洗、过滤,从中分析和挖掘有用的信息,充分利用人数据的优势。
参考文献
[1]王新剛.城市住房价格时空模型分析[D]开封:河南大学,2015
[2]赵绿草,饶佳冬基于python的二手房数据爬取及分析[J]电脑知识与技术,2019 (7):1-3.
[3]曾悠·大数据时代背景下的数据可视化概念研究[D].杭州:浙江大学,2014