# 基于Python的南京二手房数据采集及可视化分析
## 1 内容简介
首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗;然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的规律;最后,采用一个聚类算法对所有二手房数据进行聚类分析,并根据聚类分析的结果,将这些房源大致分类,以对所有数据的概括总结。通过上述分析,我们可以了解到目前市面上二手房各项基本特征及房源分布情况,帮助我们进行购房决策。
## 2 应用技术介绍
1)Python网络爬虫技术
- Requests
- Beautifulsoup
2)Python数据分析技术
- Numpy
- Matplotlib
- Pandas
3)k-means聚类算法
4)高德地图开发者应用JS API
## 3 数据采集及数据清洗
### 3.1 数据采集
该部分通过网络爬虫程序抓取链家网上所有南京二手房的数据,收集原始数据,作为整个数据分析的基石。
3.1.1 链家网网站结构分析
链家网二手房主页界面如图1、图2,主页上面红色方框位置显示目前南京二手房在售房源的各区域位置名称,中间红色方框位置显示了房源的总数量,下面红色方框显示了二手房房源信息缩略图,该红色方框区域包含了二手房房源页面的URL地址标签。图2下面红色方框显示了二手房主页上房源的页数。
链家网二手房主页截图上半部分:
![](media/5aa0e402894a90180243e461e6a39f95.png)
图1 链家网二手房主页
链家网二手房主页截图下半部分:
![](media/e8fbbc9ebf9c99dc3228849a6c454f4e.png)
图2 链家网二手房主页
二手房房源信息页面如图3、图4。我们需要采集的目标数据就在该页面,包括基本信息、房屋属性和交易属性三大类。各类信息包括的数据项如下:
1)基本信息:小区名称、所在区域、总价、单价。
2)房屋属性:房屋户型、所在楼层、建筑面积、户型结构、套内面积、建筑类型、房屋朝向、建筑结构、装修情况、梯户比例、配备电梯、产权年限。
3)交易属性:挂牌时间、交易权属、上次交易、房屋用途、房屋年限、产权所属、抵押信息、房本备件。
![](media/31f9bd59a9948b99ce4a68cb33c62637.png)
图3 二手房房源信息页面
![](media/83ebc8892cc133b6c2967b1680a949cb.png)
图4 二手房房源信息页面
3.1.3 网络爬虫程序关键问题说明
1)问题1:链家网二手房主页最多只显示100页的房源数据,所以在收集二手房房源信息页面URL地址时会收集不全,导致最后只能采集到部分数据。
解决措施:将所有南京二手房数据分区域地进行爬取,100页最多能够显示3000套房,该区域房源少于3000套时可以直接爬取,如果该区域房源超过3000套可以再分成更小的区域。
2)问题2:爬虫程序如果运行过快,会在采集到两、三千条数据时触发链家网的反爬虫机制,所有的请求会被重定向到链家的人机鉴定页面,从而会导致后面的爬取失败。
解决措施:①为程序中每次http请求构造header并且每次变换http请求header信息头中USER_AGENTS数据项的值,让请求信息看起来像是从不同浏览器发出的访问请求。②爬虫程序每处理完一次http请求和响应后,随机睡眠1-3秒,每请求2500次后,程序睡眠20分钟,控制程序的请求速度。
### 3.2 数据清洗
对于爬虫程序采集得到的数据并不能直接分析,需要先去掉一些“脏”数据,修正一些错误数据,统一所有数据字段的格式,将这些零散的数据规整成统一的结构化数据。
3.2.1 原始数据主要需要清洗的部分
主要需要清洗的数据部分如下:
1)将杂乱的记录的数据项对齐
2)清洗一些数据项格式
3)缺失值处理
3.2.3 数据清洗结果
数据清洗前原始数据如图8,清洗后的数据如图9,可以看出清洗后数据已经规整了许多。
![](media/48743e4e4d35f8e96e5b7ed47305c177.png)
图8 清洗前原始数据截图
![](media/4a89d0cdd8af0769bf85ee809c13fdd5.png)
图9 清洗后的数据截图
## 4 数据可视化分析
在数据清洗完成后,我们就可以开始对数据进行可视化分析。该阶段主要是对数据做一个探索性分析并将结果可视化呈现,帮助人们更好、更直观的认识数据,把隐藏在大量数据背后的信息集中和提炼出来。本文主要对二手房房源的总价、单价、面积、户型、地区等属性进行了分析。
数据可视化分析主要步骤如下:1)数据加载;2)数据转换;3)数据可视化呈现。
### 4.1 数据加载
数据分析和建模的大量工作都是用在数据准备上的,如:清理、加载、转换等。清洗完成后的数据仍然存储在文本文件(CSV格式)中,要对数据进行可视化分析,必须先要将数据按一定结果加载到内存中。我们使用Pandas提供的DataFrame对象来加载和处理我们清洗后的数据,Pandas同时提供将表格型数据读取为DataFrame对象的函数。数据加载处理过程中需要注意的主要问题如下:
1)数据项的行列索引的处理;
2)数据类型推断和数据转换;
3)缺失值的处理。
4.2 数据整体质量分析
4.2.1 数据基本情况
数据加载后,数据基本情况如图10。从图中可以看到加载后的数据一共20527行、25列,占用内存3.9+MB。在数据类型上,一共有3列float64类型,2列int64类型,20列object类型。除了户型结构、套内面积、抵押信息三列数据项缺失值比较多之外,其他列数据项的缺失值都不多,所以数据整体的质量还不错。
![](media/3a4625cbb8d333691acd752dbac9f869.png)
图10 数据基本情况图
4.2.2 整体数据文件词云
从整体数据文件词云(见图11),我们可以得到在南京二手房房源信息中经常出现的高频词,如商品房、普通住宅、一梯两户、钢混结构、精装等。我们可以通过这些高频词,十分粗略的了解整个数据文件中的基本内容。
![](media/c7bba517b1bf88ab5b4164008c714adb.png)
图11 整体数据文件词云
4.2.3 南京各区域二手房房源数量折线图
南京各区域二手房房源数量折线图(见图13)横轴为南京各个行政区域名称,纵轴为房源数量(套)。从图中可以看出,江宁在售的房源数量最多,高达5000多套,占了总量的1/4。与之相反的是六合区,六合区在售的房源数量仅有1套,数量太少,其他各区的数量相差不多。所以我们后面关于六合区的分析会存在一定误差。
![](media/a7672004ad36ba789c1af504b72779a7.png)
图13 南京各区域二手房房源数量折线图
4.2.4 南京二手房房屋用途水平柱状图
南京二手房房屋用途水平柱状图(见图14)横轴为房源数量(套),纵轴为房屋用途类型。从图中我们可以看出,房屋用途类型有:普通住宅、别墅、商业办公、酒店式公寓、车库5中类型。其中我们主要关心的普通住宅类型的房源数量近20000套,占总量绝大部分。所以在本文中,我们没有剔除掉房屋用途为其他类型的记录,因为这些类型在所有房源样本中占比相当少,不会影响后面的分析结果,同时它们也属于二手房的范畴内。
![](media/87ae2de4ca158afeaefc0d1533b29d5d.png)
图14 南京二手房房屋用途水平柱状图
4.2.5 数据整体质量总结
通过前面的分析,我们可以看出该数据文件的整体质量还不错。虽然存在一些缺失值比较多的数据项,但我们比较关注一些数据项
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗;然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的规律;最后,采用一个聚类算法对所有二手房数据进行聚类分析,并根据聚类分析的结果,将这些房源大致分类,以对所有数据的概括总结。通过上述分析,我们可以了解到目前市面上二手房各项基本特征及房源分布情况,帮助我们进行购房决策。 2 应用技术介绍 1)Python网络爬虫技术 Requests Beautifulsoup 2)Python数据分析技术 Numpy Matplotlib Pandas 3)k-means聚类算法 4)高德地图开发者应用JS API 3 数据采集及数据清洗 3.1 数据采集 该部分通过网络爬虫程序抓取链家网上所有南京二手房的数据,收集原始数据,作为整个数据分析的基石。 3.1.1 链家网网站结构分析 链家网二手房主页界面如图1、图2,主页上面红色方框位置显示目前南京二手房在售房源的各区域位置名称,中间红色方框位置显示了房源的总数量,下面红色方框显示了二手房房
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计基于Python的南京二手房数据采集及可视化分析应用程序源码+毕业设计PPT+详细说明.zip (155个子文件)
ershoufang-origin-utf8.csv 6.76MB
ershoufang-origin-utf8.csv 6.76MB
ershoufang.csv 5.46MB
ershoufang - 20000.csv 5.46MB
ershoufang-origin-ansi.csv 5.46MB
ershoufang-origin-ansi.csv 5.46MB
ershoufang-clean-utf8-v1.1.csv 5.13MB
ershoufang-clean-utf8-v1.1.csv 5.13MB
ershoufang-clean-ansi-v1.1.csv 3.92MB
ershoufang-clean-ansi-v1.1.csv 3.92MB
ershoufang-10000.csv 3.1MB
latlng.csv 1.29MB
latlng - 副本.csv 1.19MB
ershoufang - 副本.csv 882KB
testv1.csv 6KB
testv2.csv 4KB
ershoufang-mini-utf8.csv 3KB
ershoufang-mini-ansi.csv 2KB
原始代码.html 8KB
k-means聚类结果分组4.html 3KB
k-means聚类结果分组4 - dark.html 3KB
南京二手房总价小于200万的分布图.html 3KB
k-means聚类结果分组3.html 3KB
k-means聚类结果分组1 - dark.html 3KB
k-means聚类结果分组0 - dark.html 3KB
k-means聚类结果分组0.html 3KB
k-means聚类结果分组2 - dark.html 3KB
k-means聚类结果分组2.html 3KB
k-means聚类结果分组1.html 3KB
k-means聚类结果分组3-dark.html 3KB
闪烁点.html 3KB
南京二手房总价热力图.html 3KB
南京二手房单价热力图.html 3KB
workspace.ini 605B
workspace.ini 453B
vcs.ini 92B
vcs.ini 92B
encoding.ini 64B
encoding.ini 64B
codestyle.ini 62B
codestyle.ini 62B
house2.jpg 183KB
house1.jpg 147KB
unitprice1.js 1.35MB
total.js 1.28MB
baidu_map_total.js 1.28MB
unitprice.js 1.22MB
cluster3.js 632KB
xiaoyu201.js 394KB
xiaoyu201.js 394KB
cluster1.js 313KB
cluster2.js 266KB
cluster4.js 72KB
cluster0.js 61KB
README.md 23KB
14f211bcdea0afc6a5866eb957e5c6f0.png 926KB
2d3af90024651152cd449e987d16dce0.png 899KB
31f9bd59a9948b99ce4a68cb33c62637.png 722KB
41217f9c0ec10a9e218b497c746c8929.png 645KB
5692637864b7007bd3c02642cf516ffe.png 553KB
30e8121447d2b47f39f57a20f2a094d2.png 524KB
南京二手房数据词云2.png 523KB
9045be1b03797152030b08f6e28d7c85.png 489KB
南京二手房数据词云.png 485KB
596bdc36ae6ec999e35b77ad430e9f46.png 479KB
c7bba517b1bf88ab5b4164008c714adb.png 464KB
a32637beec319f1d6d95c6684cc2e4f4.png 456KB
e8fbbc9ebf9c99dc3228849a6c454f4e.png 326KB
83ebc8892cc133b6c2967b1680a949cb.png 222KB
5aa0e402894a90180243e461e6a39f95.png 204KB
48743e4e4d35f8e96e5b7ed47305c177.png 197KB
4a89d0cdd8af0769bf85ee809c13fdd5.png 187KB
17fb68a2b314cf24f63506bc1e4effa2.png 178KB
聚类结果-单价与建筑面积散点图2.png 178KB
20333ad34432635a9264541ff6f78685.png 171KB
聚类结果-单价与建筑面积散点图.png 171KB
1be9bdafe857653afb5c805ea37ea2d8.png 165KB
15南京二手房单价与建筑面积散点图.png 165KB
d008eede0b04bcf5ca7f5300bf6bdc18.png 117KB
聚类结果-总价价与建筑面积散点图.png 117KB
51e0bf81079717f142fb1a5941639fc3.png 109KB
聚类结果-总价价与建筑面积散点图2.png 109KB
25082d4d0e64ad0d3289b5f91c1b042b.png 78KB
14南京二手房总价与建筑面积散点图.png 78KB
952ba4c527bdaf812956ccfc79b61659.png 69KB
6南京二手房房屋户型占比情况.png 69KB
3南京各区域平均建筑面积和单价.png 68KB
11南京各区域二手房总价箱形图2.png 64KB
12南京各区域二手房单价箱形图.png 64KB
72cf1c473e17b6b3593e158b1f5139f6.png 61KB
3600212e5f46384a8a650c990c9b69cd.png 59KB
11南京各区域二手房总价箱形图.png 57KB
ba94d3c7763c48c1841d2461938fc64c.png 55KB
99f40069991fafefac2d54413eed2873.png 53KB
5南京二手房单价最高Top20.png 53KB
a7672004ad36ba789c1af504b72779a7.png 49KB
4南京二手房各区域房源数量2.png 49KB
1bffd1df3eaecdbad8c4d8086f40caef.png 44KB
48638b87c85b5b47880f3cda9bcde726.png 40KB
8南京二手房建筑类型占比情况.png 40KB
共 155 条
- 1
- 2
资源评论
不会仰游的河马君
- 粉丝: 5393
- 资源: 7615
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功