目录

  • 1数据爬取
    • 1.1目标网站及数据选择
    • 1.2编写爬虫
  • 2数据预处理
    • 2.1数据清洗
    • 2.3数据说明
    • 2.4描述性统计
  • 3数据可视化分析
  • 4聚类分析
  • 5结论

1数据爬取

1.1目标网站及数据选择

1.1.1 Q房网深圳二手房待售小区信息页

2、Q房网深圳二手房房源价格与各项指标信息页

1.2编写爬虫

code省略。
运行结果如下:


本文利用Anaconda里自带的Jupyter Notebook编辑器进行爬虫编写,新建Python3程序,首先创建请求头,定义初始化,爬取页及解析页的方法,将爬取得到的数据存为dataframe形式,并保存到本地txt文件中。

2数据预处理

2.1数据清洗



在进行数据分析之前,由于可能存在残缺补全的数据,因此需要先进行数据预处理,才能进行接下来的数据分析。首先使用Pandas库的read_csv方法打开前面爬取到的数据,并赋予各个列新的列名。
对【所在区域】列、【建设时间】列做数据清理,使用pandas库的str属性的split方法对数据进行切割,将多余的\r\n等去掉。其次,将【二手房现存量】和【租房现存量】列中除数字之外的字符去掉,并将这两列转换成int类型,便于后面我们对其进行数据可视化分析。
数据清洗结果如下:



2.3数据说明

表1 深圳市小区数据

属性名 描述
小区名称 小区的名字
地址 区-街道
建设时间 该小区的建设时间
每平方米价格 每㎡的房屋价格
二手房现存量 该小区目前的待售二手房数
租房现存量 该小区目前的待租房数

表2 深圳市二手房源数据

属性名 描述
二手房名称 二手房的名字
地址 区-街道
装修程度 该二手房装修的程度
房屋类型 x室x厅
楼层 该二手房的整栋楼层数
朝向 阳台的朝向
单价 每平方米的价格
面积 该二手房的占地面积
总价 参考价格,为单价和面积的乘积

2.4描述性统计


利用describe(),可以得到深圳市小区二手房源的描述性统计信息,该函数的返回值有均值、标准差、最大值、最小值、分位数等。从表格中我们可以发现深圳市在售二手房的小区的每平方米价格达到了63738.0元/平方米,平均的二手房现存量为13.4套,平均租房现存量为11.1套。

通过describe(),得到数据的描述性统计,可以发现:在Q房网这抽取出来的392套深圳在售二手房中:①单价的平均值为60387.19元/㎡;②面积的平均值为87.24㎡;③总价格的均值为547.68万元。此外,单价最高的二手房达到了惊人的14.8万元/㎡。

3数据可视化分析


根据清洗后的深圳市二手房小区的数据,通过绘制散点图,分析深圳市小区租房现存数和二手房现存数的相关关系。x 轴表示租房现存数,y 轴表示二手房现存数。
可以发现:随着深圳市小区的租房现存数的增加,二手房现存数也在增加,虽然关系并不明显,但可以判断两者之间存在一定的正相关关系。



从深圳市二手房每平方米价格排名倒数前十小区排行榜中,我们可以看见二手房售价最低的小区是东津名座,价格仅为20000元/平方米。其它的低价楼盘大多在25000~30000这个区间内,可见深圳市二手房的价格基本处在两万以上的标准,对于二手房市场来说,这在全国范围都算是一个很高昂的价格。


分区后,统计深圳各区的待出售或待出租二手房的小区数目,发现龙岗和福田位居榜首,总数为63个。南山和罗湖紧随其后,分别为57个、53个。宝安和龙华分别是37个、21,处在第三梯队。最后四个区的带出售或出租二手房的小区数目过少,这个指标可能与各区的经济发展水平和人口密度息息相关,较发达地区的二手房需求更大,供应数量更多,二手房市场更加火热。

基于上面的深圳各区待售二手房小区数目统计(饼图),进一步对其剖析,绘制深圳各区二手房和租房现存量总量与均值统计(堆叠直方图)。红色方块代表二手房现存量总计与均值,灰绿色方块代表租房存量总计与均值。从总量统计结果上看,龙岗、罗湖、福田和南山的二手房房源相对充足,从均值统计结果来看大鹏新区、光明区的均值反而更高,说明虽然这两个区的二手房小区少,但是平均提供的房源却相对更高。

深圳各区的小区均价呈现阶梯式下降,每个区之间的差距大概在5000~10000元/㎡左右,从南山到大鹏新区,每平方米价格的平均值差距达到了惊人的50000元/㎡。
二手房分布集中在龙岗、罗湖、福田、南山、龙华、宝安等地区,二手房分布区域最多的地方不是单价最高的南山,反而是中等价格的龙岗区。
租房方面,光明、盐田、坪山、大鹏新区非常少租房房源挂在平台上,可能是这些地区的租房需求相较更发达地区而言比较小。


通过建立深圳各区的二手房、租房、每平方米价格的三维分析,以区为类别进行颜色划分,X轴为二手房现存量,Y轴为租房现存量,Z轴为每平方米价格。每个点代表一个小区。
可以发现,龙岗区是二手房和租房存量最高的,并且价格处于中流水平,如果在次级考虑地段的情况下,这里是比较理想的二手房购房地,有很多二手房可供选择,价格也处在中下段,具有比较高的性价比。
南山、福田、宝安、罗湖,房价较高,二手房待售数和租房待租数目处在中等数量级,可选项也较多,适合更多考虑通勤和离市中心远近的二手房卖家考虑。
其它区(光明、坪山等),二手房和租房待售数很少,建议价格不敏感者考虑买一手房,价格不会与二手房相差太大,而且还能够节省转移过户的复杂手续。


从深圳各区二手房数目统计来看,龙岗的二手房数目最多,宝安、南山、罗湖二手房数处在第二梯队,而光明、坪山、盐田、大鹏新区这四个区的二手房在售数较少,这与之前分析二手房在售小区的数据分析结果一致,可见较发达的区的二手房房供应量更大,二手房交易市场更为发达,这可能也与深圳较为快速的人口流动有关系。


从深圳二手房户型统计来看,3室2厅有121套,2室2厅有76套,4室2厅有50套,1室1厅有41套,2室1厅有21套,这五个户型为深圳二手房主要户型,而5室1厅往上走的大户型比较少见,可见在售二手房多为普通常见的中小户型。

从装修程度来看,精装占到了64.79%,简装占到了31.38%,而毛坯房仅仅占到了3.83%,可见大多数出售二手房的户主都是已经装修好或者是居住过一段时间的了,较少未使用过房屋者进行二手房出售。

从朝向比例来看,朝南占到了53.32%,朝东南占到了10.71%,朝东占到了8.16%,可见大多数深圳二手房都是朝向南或者是东南居多,鲜少二手房朝向西或北。这与中国建筑文化、风水文化相关,大多数家庭都会第一考虑朝南的户型。

从深圳二手房平均价格综合分析:二手房单价均值和总价呈现梯形分布,逐级递减。
第一梯队(75000-90000元/㎡ ,750万-1000万)为:南山、福田,第二梯队(55000-60000元/㎡ ,450万-550万)为:宝安、龙华、罗湖,第三梯队(30000-45000元/㎡ ,250万-400万)为:光明区、龙岗、盐田、坪山、大鹏新区。


为了探索二手房标题后的规律,使用jieba分词,对标题进行切分,然后统计该样本中出现频率较高的“关键词”,再用可视化的方法予以视觉上的突出,画出标题的词云图。
由词云分析得出,房屋中介为了更快的卖出二手房,最喜欢的标题是“满五年”、“花园”、“精装修”、“地铁”、“户型方正”、“南北通透”、“满两年”等结论。其中,满五年与满两年这里涉及到税务问题,如果你在买二手房的时候,买到“满两年”的房子(普通住宅),那么可以省下缴纳增值税的钱;如果你买到“满五年”的房子(普通住宅),那么可以省下缴纳增值税和个人所得税的钱。花园、精装修、户型方正说明二手房中介认为房屋装修情况和户型是人们购买二手房的重要考量要素,还包括地铁交通、通风采光等。

4聚类分析


K-Means聚类是指对于给定的样本集A,按照样本之间的距离大小,将样本集A划分为K个簇,让这些簇内的点尽量紧密地连在一起,而让簇间的距离尽量大。这里我们使用用直方图展示每一个类别有多少二手房,设置聚类数目为4,可以聚出第一个簇数目为69,第二个簇数目为29,第三个簇数目为218,第四个簇数目为74。HC聚类通过创建一个有层次的嵌套聚类树,利用不同类别数据点的相似度来创建。通过系统聚类树,可以更加灵活地确定聚类的数目。

5结论

本文利用 Python 爬取Q房网上深圳二手房的相关信息,将采集到的二手房信息进行数据清洗过滤,通过可视化分析提炼出能帮助人们做出购房决策的信息。
经过数据分析,得出以下结论:从二手房分布来看,深圳市龙岗区的二手房待售数最大,二手房小区数目最多,而大鹏、光明等新区二手房市场规模较小;从二手房价格来看,南山、福田稳居前二,罗湖、宝安紧随其后,区之间的二手房价格相差很大;从户型来看,深圳二手房最常见户型是3室2厅;从标题来看,大都包含五年、花园、精装修、地铁等结论。
这个方法不仅局限于深圳二手房信息,也可以适用于不同城市的买房租房需求,购房租房人员可以据此掌控房屋市场动态,然后做出合理抉择。

【数据爬取和数据分析】Q房网深圳二手房源分析相关推荐

  1. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  2. python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...

    一.设计方案 1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化 2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件.排名与热度,数据呈一定规律排序. 3.设计方案概述:思 ...

  3. 链家网沈阳二手房数据分析——从数据爬取到数据分析

    数据爬取主要是通过使用requests实现的,鉴于爬取数据的流程简单以及电脑的性能所限,没有使用scrapy框架,而是使用where循环手动控制页码的形式,每次爬取5页信息,并将信息写入.csv文件中 ...

  4. 爬虫实战入门级教学(数据爬取->数据分析->数据存储)

    爬虫实战入门级教学(数据爬取->数据分析->数据存储) 天天刷题好累哦,来一期简单舒适的爬虫学习,小试牛刀(仅供学习交流,不足之处还请指正) 文章讲的比较细比较啰嗦,适合未接触过爬虫的新手 ...

  5. Python爬虫应用实战-网站数据爬取及数据分析

    实战一:中国大学排名 前言 由于上一篇文章中教会了大家如何存储数据,但是由于篇幅过大,就没有加入实战篇.想必大家也等着急了吧,所以今天就为大家带来两篇实战内容,希望可以帮助到各位更好的认识到爬虫与My ...

  6. python如何爬虫股票数据_简单爬虫:东方财富网股票数据爬取(python_017)

    需求:将东方财富网行情中心的股票数据爬取下来,包括上证指数.深圳指数.上证A股.深圳A股.新股.中小板.创业板 等 一.目标站点分析 东方财富网的行情中心页面包含了所有股票信息.在左侧的菜单栏中包含了 ...

  7. 金投网煤炭数据爬取-精进版

    金投网数据爬取-加强版 注:博主经过一个暑假的游手好闲,学习到了xpath及一些其他的有意思的小东西.对于之前爬取金投网的课题有了一些新的思路,特此卷土重来,让我们开始吧! 目录标题 金投网数据爬取- ...

  8. 基于python的数据爬取与分析_基于Python的网站数据爬取与分析的技术实现策略

    欧阳元东 摘要:Python为网页数据爬取和数据分析提供了很多工具包.基于Python的BeautifulSoup可以快速高效地爬取网站数据,Pandas工具能方便灵活地清洗分析数据,调用Python ...

  9. Python网络数据爬取及分析-智联招聘

    python网络数据爬取及分析-智联招聘 一. 数据爬取 智联招聘是一家面向大型公司和快速发展的中小企业提供一站式专业人力资源的公司,可在智联招聘网站上根据不同城市.不同职位需求搜索得到相关招聘信息. ...

  10. 爬虫系列之链家的信息爬取及数据分析

    关于链家的数据爬取和分析 已经实现 1.房屋数据爬取并下载 2.房屋按区域分析 3.房屋按经纪人分析 4.前十经纪人 5.经纪人最有可能的位置分析 6.实现以地区划分房屋 目前存在的问题: 1.多线程 ...

最新文章

  1. 未来智能:人有人用,机有机用
  2. 5771. 【NOIP2008模拟】遨游
  3. python语言创意绘画-齐齐哈尔富裕高校邦数据科学通识课【Python基础语法】答案...
  4. JVM调优总结(2):一些概念(下)
  5. linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件
  6. HDU-2570-迷瘴
  7. 【实践】LightSeq:高性能NLP序列推理实践-字节跳动.pdf(附下载链接)
  8. 雷达的正交波形设计matlab源码,雷达系统设计MATLAB仿真
  9. 学python心得体会800字-Python初学心得体会
  10. GoldWave的消音、淡入淡出、改变音乐速率
  11. python判断中文函数_如何判断(或如何编写)一个没有副作用的python函数?
  12. 精品免费软件更新下载
  13. 企业终端安全应该包括哪几部分?
  14. 用尽量简单地话,一次讲明白傅里叶级数(FS)、傅里叶变换(FT)、离散时间傅里叶变换(DTFT)、离散傅里叶级数(DFS)、离散傅里叶变换(DFT)以及它们之间的联系和区别。
  15. AI应用第一课:C语言支付宝刷脸登录
  16. 光之盟:从ONA的握手,解锁全光网产业未来
  17. 网页贴便签, Chrome特色网页便签纸 OurStickys
  18. PHP实验报告 点餐系统,点餐系统软件工程实验报告.doc
  19. MTK智能平台分区解析
  20. Xv6 I/O 与文件描述符

热门文章

  1. 学习进制及数据在计算机中的表示
  2. java 卸载工具_java卸载工具下载
  3. 手机及电脑的护眼模式开启
  4. MSP430下载程序BSL
  5. 系统重装BIOS设置
  6. 《黑白团团队》第九次团队作业:Beta冲刺第一天
  7. 【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary )
  8. mysql 错误 1548_mysql报错1548-Cannot load from mysql.proc. The table is probably corrupted
  9. 如何在Windows 10中扫描文档
  10. php 悬浮按钮,Android_Android利用悬浮按钮实现翻页效果,今天给大家分享下自己用悬浮 - phpStudy...