链家网长沙市二手房数据采集与分析_第1页
链家网长沙市二手房数据采集与分析_第2页
链家网长沙市二手房数据采集与分析_第3页
链家网长沙市二手房数据采集与分析_第4页
链家网长沙市二手房数据采集与分析_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1引言1

1.1项目背景1

1.2开发环境与工具2

1.2.1Python简介2

1.2.2Pycharm简介3

1.2.3Python第三方库简介3

1.2.4Anaconda简介4

2需求分析5

2.1可行性需求分析5

2.2采集目标功能分析5

2.3关键技术分析6

2.3.1网络爬虫技术6

2.3.2文件存取技术7

2.3.3可视化技术8

3数据采集9

3.1采集页面分析9

3.2字段分析11

3.3编程实现12

4数据清洗与处理16

4.1数据清洗16

4.2数据储存17

4.3编程实现18

5数据统计与分析19

5.1数据准备19

5.2数据展示20

5.2.1依据不同行政区、户型、朝向、装修类型占比饼状图20

5.2.2依据不同地区单价总价统计21

I

湖南商务职业技术学院毕业设计

5.2.3根据地段进行统计和分析22

5.2.4依据房间大小及分布密度和房价的关系进行统计23

5.3本章小结24

6小结25

参考资料26

II

湖南商务职业技术学院毕业设计

链家网长沙二手房数据采集与分析

1引言

长沙的二手房市场在过去几年里发展迅速,成为许多人投资房地产的首

选。这是因为长沙作为中国著名的经济、文化、教育和旅游中心,其房地产市

场具有良好的发展前景。二手房市场也受益于长沙市政府的房地产政策,如住

房保障和促进住房消费的政策措施。然而,购买二手房也存在一定的风险。由

于市场信息不对称等因素,购买者往往难以准确了解房屋的真实情况。因此,

在购买二手房之前,消费者应充分了解房屋的历史、结构、装修状况等情况,

并寻求专业人士的帮助。除了谨慎考虑风险之外,在购买二手房时,消费者还

应注意其他因素。例如,应该考虑房屋所在的位置,是否方便交通、购物、教

育等。另外,消费者也应该考虑房屋的大小、结构、装修等因素,以确保房屋

能够满足其日常生活和居住需求。此外,在购买二手房时,消费者应该注意房

屋的价格是否合理。可以通过比较不同的房屋的价格、面积等因素,来判断房

屋的价值。同时,消费者也应注意房屋所在小区的基础设施、环境等因素,这

些因素也会对房屋的价值产生影响。总的来说,购买二手房是一项重要的决

策,消费者应充分了解市场情况,谨慎考虑风险,并综合考虑多方面因素,才

能做出明智的决策。

1.1项目背景

随着互联网的高速发展、数据库存储技术的成熟,高性能的存储设备和存

储介质日益普及,人们在生活、工作等产生的数据量以指数形式爆炸式增长,

大数据发展势不可挡,但如何利用大数据分析为人们的生活提供便利就成了人

类的共同话题。同时由于人们的住房压力越来越大,但新房价格一般来说更

高,因此有些人会考虑购买二手房。国家统计局发布了“2021年8月份70个

大中城市商品住宅销售价格变动情况”。长沙8月新建商品住宅销售价格指数

环比上涨0.5%,同比上涨6.8%;二手房销售价格指数环比上涨0.4%,同比上

涨6.0%。随着互联网的高速发展、数据库存储技术的成熟,高性能的存储设备

和存储介质日益普及,人们在生活、工作等产生的数据量以指数形式爆炸式增

长,大数据发展势不可挡,但如何利用大数据分析为人们的生活提供便利就成

了人类的共同话题.同时由于人们的住房压力越来越大,但新房价格一般来说

更高,因此有些人会考虑购买二手房。

1

湖南商务职业技术学院毕业设计

近年来,长沙市的房地产市场发展迅速,其中二手房市场尤为热门。许多

人选择在长沙市购买二手房,以作为投资或自住之用。然而,由于信息不对称

等因素,购买二手房存在许多挑战。因此,研究长沙市二手房市场的发展趋势

和影响因素,对于提升市场效率和促进健康发展具有重要意义。

链家网是中国领先的房地产综合服务平台,提供丰富的房屋信息和服务。

链家网上提供了大量长沙市二手房信息,因此是研究长沙市二手房市场的重要

数据来源。本项目旨在通过爬取链家网上长沙市二手房信息,并使用Python

进行数据分析,探讨影响长沙市二手房价格的因素,并预测未来市场趋势。

在本项目中,我们将使用Python的爬虫框架爬取链家网上长沙市二手房

信息。在数据采集阶段,我们将获取长沙市不同地区、不同类型的二手房信

息,包括房屋面积、价格、户型、楼层、装修情况等。

在数据分析阶段,我们将使用Python的数据分析库,如pandas和

NumPy,进行统计分析和数据挖掘。我们将探讨影响长沙市二手房价格的因

素,并使用机器学习算法,如回归分析、决策树等,预测未来市场趋势。

此外,我们还将使用数据可视化工具,如matplotlib和seaborn,对结果

进行可视化呈现。这将有助于我们更直观地理解数据,并向其他人呈现我们的

研究结果。

通过本项目,我们希望为政府、房地产企业和个人提供有价值的参考,并

为未来房地产市场的发展提供借鉴。

1.2开发环境与工具

1.2.1Python简介

20世纪80年代末,荷兰的龟叔(GuidoRossum)创造了Python。

Python创建的初期并没有引起大多数人们的关注,在21世纪初Google在

大量的项目业务上大规模的开始应用Python,Python也因此走进大众的视

野,从而促使Python的发展。

Python是一种广泛使用的高级编程语言,用于开发各种应用程序,包括网

站、科学计算、数据分析和人工智能等。Python的语法简洁易懂,使得它成为

初学者学习编程的首选语言。同时,Python也拥有丰富的标准库和第三方库,

支持各种应用场景。Python可以在多种操作系统中运行,包括Windows、

Linux、macOS等。它还有许多优秀的开发工具和框架,如Django、Flask和

PyQt等,可用于快速开发Web应用、桌面应用和移动应用等。

2

湖南商务职业技术学院毕业设计

Python还是著名的科学计算语言,拥有丰富的数学、统计和科学计算库,

如NumPy、SciPy和pandas等。这些库使得Python成为科学计算、数据分析

和机器学习的首选工具。

Python也是人工智能和机器学习领域的主流语言,拥有许多优秀的机器学

习框架和库,如TensorFlow、scikit-learn和PyTorch等。这些工具使得

Python成为人工智能和机器学习的强大开发环境。

总的来说,Python是一种功能强大、易学易用的编程语言,支持各种应用

场景,并有着广泛的社区支持。它在科学计算、数据分析、人工智能和机器学

习等领域具有重要地位,是编程入门和职业发展的优秀选择。

1.2.2Pycharm简介

PyCharm是一个由JetBrains开发的跨平台PythonIDE(集成开发环

境)。它既可以用于Python开发,也可以用于Web和科学开发。PyCharm包

含了很多有用的功能,比如自动代码完成、代码调试、代码检查、代码重构以

及版本控制集成。

PyCharm还提供了一个可视化的调试器,可以帮助开发人员更快地找到代

码中的错误。此外,PyCharm还有一个智能提示功能,可以帮助开发人员快速

了解Python库的用法。

PyCharm还提供了一个内置的Python解释器,可以让开发人员直接在IDE

中运行代码。还有一个内置的Python控制台,可以让开发人员在命令行中输

入Python代码并立即得到结果。

总的来说,PyCharm是一个功能强大、易于使用的PythonIDE,适用于所

有水平的Python开发人员。

1.2.3Python第三方库简介

requests:这是一个用于发送HTTP请求的库,可以用来简化网络请求的

操作。你可以使用它来发送GET和POST请求,添加请求头和参数,处理响

应,等等。

re:这是Python自带的正则表达式库。你可以使用它来在文本中搜索、

替换和分析模式匹配的字符串。

csv:这是Python自带的用于读写CSV文件的库。你可以使用它来读取

和写入CSV文件,并对数据进行处理。

3

湖南商务职业技术学院毕业设计

NumPy:这是一个用于科学计算的库,提供了高性能的多维数组对象和常

用的数学函数。

pandas:这是一个用于数据分析的库,提供了强大的数据结构和数据处理

工具。你可以使用它来读取和写入各种数据格式,如CSV、Excel和SQL数

据库,对数据进行清理、转换和分析。

matplotlib:这是一个用于绘制图表的库,可以用来生成各种类型的2D

图和3D图。你可以使用它来绘制散点图、折线图、条形图、饼图等等。

BeautifulSoup:这是一个用于解析HTML和XML文档的库

pylab:这是一个集成了NumPy和matplotlib的库,可以用来进行科学

计算和绘图。你可以使用它来生成各种图像并进行数据分析。

pyecharts:这是一个基于Echarts的Python库,用于生成交互式图

表。你可以使用它来绘制折线图、柱状图、饼图、地图等多种图表,并通过

JavaScript进行交互。

NumPy:这是一个用于科学计算的库,提供了高性能的多维数组对象和常

用的数学函数。

Ploty:这是一个用于生成交互式图表的库,可以用来绘制各种类型的2D

图和3D图。你可以使用它来绘制散点图、折线图、条形图、地图等图表,并

通过JavaScript进行交互。

1.2.4Anaconda简介

Anaconda是一个开源的Python发行版本,用于科学计算、数据分析和机

器学习。它包含了许多常用的Python包,比如NumPy、Pandas和SciPy,以及

用于数据可视化的包,比如Matplotlib和Seaborn。Anaconda还提供了一个

叫做conda的包管理工具,可以用来安装、更新和卸载Python包。

Anaconda非常适合用于数据科学和机器学习项目,因为它提供了大量的数

据科学和机器学习相关的包,并且可以很方便地进行包管理。此外,Anaconda

还提供了一个叫做JupyterNotebook的交互式笔记本环境,可以用来编写和

运行代码,并将代码、文本和图像结合起来制作漂亮的报告。

Anaconda可以在Windows、MacOS和Linux系统上使用,并且可以免费下

载和使用。它的安装非常简单,只需要下载安装程序并运行即可。Anaconda可

以帮助你快速搭建Python开发环境,节省安装和配置各种包的时间。

4

湖南商务职业技术学院毕业设计

2需求分析

2.1可行性需求分析

1、技术可行性

Python是面向对象语言中的一门通俗易懂的计算机编程语言,本次项目中

使用Python编写程序来实现数据获取,数据清洗预处理,数据可视化。采集

链家网长沙二手房的数据:使用Python的第三方库如requests和

BeautifulSoup能够方便地发送网络请求并解析网页。通过对链家网的分

析,我们可以确定网站的数据结构和规则,使用爬虫技术自动爬取数据。

对采集到的数据进行清洗:使用pandas库可以方便地对数据进行清洗和

转换。我们可以通过指定数据类型

以上为此次项目的技术可行性,我也将在后续的工作中将所有的步骤实现

到位,保证数据的准确性和安全性。

2、项目可行性

教育、住房、医疗一直是压在人民心头的三座大山,也是我们中国社会主

义发展道路上的巨大难题。有关于三者的讨论与新闻从未断绝过,每一次发表

关于教育、住房、医疗等领域的话题时,其话题热度往往能冲上热搜榜首。

项目目标可行性:通过采集链家网长沙二手房的数据并进行分析,我们能

够得出有用的结论。本项目的目标是可以实现的。

项目技术可行性:本项目所需的技术,如Python语言、网络爬虫、数据

清洗、数据分析、数据可视化等,都是成熟的技术,并且有足够的工具和库可

以支持。因此,本项目的技术可行性较高。

项目资源可行性:本项目的人员需求不大,可以由一名Python程序员完

成。所需的计算机硬件资源也不高,可以使用普通的电脑或服务器。因此,本

项目的资源可行性较高。

项目时间可行性:根据项目的功能和规模,我们估计本项目的开发周期在

1~2个月之内。因此,本项目的时间可行性较高

2.2采集目标功能分析

本次项目的数据集的来源是链家网二手房,是通过python爬取链家网上

长沙所有地区的二手房信息。数据清洗后共4333条记录,爬取完成后尽可能

的检查数据的准确性,确定爬取出来的数据无误并且是属于链家网实时存在的

5

湖南商务职业技术学院毕业设计

长沙二手房信息。

分析链家网网页信息,采集链家网长沙二手房的房屋信息:包括房屋的面

积、户型、楼层、朝向、装修情况等。这些信息对于买卖者来说是非常重要

的,能够帮助他们了解房屋的实际情况。

采集链家网长沙二手房的价格信息:包括房屋的总价、单价、每平方米价

格等。这些信息对于买卖者来说也是非常重要的,能够帮助他们了解房屋的价

格水平。

采集链家网长沙二手房的地理位置信息:这些信息对于买卖者来说也是非

常重要的,能够帮助他们了解房屋所在的位置、周边的配套设施、交通情况

等。

采集链家网长沙二手房的发布时间:能够帮助房地产业者了解房屋市场的

价格趋势。

除了以上提到的信息之外,还可以考虑采集其他信息,如房屋的产权信

息、房屋的挂牌时间、房屋的贷款情况等。根据需要,可以在采集的数据中筛

选出这些信息。

2.3关键技术分析

2.3.1网络爬虫技术

在我们日常生活中浏览网页通常都会遇到需要缓存在本地的数据,当数量

比较小的时候我们可以自己采取手动下载的方式去获得想要的数据,不过在我

们的大数据领域一般用到的数据体量都是几个G甚至几个T的单位,这个时候

采取手动下载获取数据无疑是一个很愚蠢的方式,所以我们会采取网络爬虫的

手段自动化的获取数据。

网络爬虫技术(也称为网络蜘蛛、网络机器人或网页爬虫)是一种自动在

互联网上搜集信息的方法。它通过编写程序,自动访问网站并抓取网站上的数

据,然后将抓取到的数据存储到本地或远程服务器上。网络爬虫技术是基于网

络协议的,常用的网络协议包括HTTP和FTP。网络爬虫技术通常使用HTTP

协议,通过向网站发送请求,获取网站上的数据。

网络爬虫技术的主要用途包括:网页搜索引擎的索引和排名:通过爬虫技

术,搜索引擎可以自动搜集网络上的网页,并对网页进行索引和排名。

数据挖掘和分析:通过爬虫技术,可以搜集大量的数据,并对数据进行分

析,从而了解市场动态和用户喜好。

6

湖南商务职业技术学院毕业设计

网络信息监测:通过爬虫技术,可以实时监测网络上的信息,从而了解市

场动态。

网络爬虫技术的实现方式有手动爬取和自动爬取两种。文件存取技术自动

爬取是指使用爬虫软件或平台进行爬取的方式。爬虫软件或平台通常提供了可

视化的界面,可以让用户输入爬取的目标网站和所需信息,并自动完成爬取过

程。使用爬虫软件或平台进行爬取可以大大简化爬取过程,是现在比较常用的

爬取方式。手动爬取是指使用脚本语言或编程语言手动编写爬虫程序进行爬取

的方式。这种方式比较灵活,可以自定义爬取过程,但需要具备一定的编程能

力。在使用网络爬虫技术时,需要注意遵守网络道德,不要侵犯网站的版权和

隐私。此外,还需要遵守网站的机器人协议,也就是在爬取网站信息时所遵循

的规则。机器人协议通常由网站所有者设置,用于告知爬虫程序是否允许访问

网站,以及在何种条件下可以访问。机器人协议一般包括两个部分:

robots.txt文件和X-Robots-TagHTTP头。robots.txt文件是网站所有者

设置的文本文件,用于告知爬虫程序哪些网页可以访问,哪些网页不可以访

问。X-Robots-TagHTTP头是网站所有者在网页的HTTP头部设置的标签,用

于指示爬虫程序对该网页的访问行为。在使用网络爬虫技术时,还需要注意避

免对网站造成过大负荷,以免造成网站服务器崩溃或网站访问缓慢的情况。为

了避免这种情况,爬虫程序通常设置了访问频率的限制,即在一定时间内只能

访问特定数量的网页。

此外,还要注意避免爬虫程序被网站服务器识别出来,因为有些网站会拒

绝爬虫程序的访问。为了避免这种情况,爬虫程序通常会模拟浏览器的行为,

并设置伪装浏览器的信息,如浏览器名称、浏览器版本、操作系统等。

总的来说,网络爬虫技术是一种非常有用的工具,可以帮助我们快速搜集

大量的网络信息,但在使用时也需要注意遵守相关规则和道德,以保证爬取数

据的合法性和有效性。此外,在使用网络爬虫技术时,还要注意避免对网站造

成过大负荷,并尽量避免被网站服务器识别出来。网络爬虫技术有许多应用领

域,如搜索引擎、数据挖掘和分析、网络信息监测等。在这些领域中,网络爬

虫技术都发挥了重要作用,为企业、研究机构和个人提供了丰富的信息资源。

2.3.2文件存取技术

在Python中,有许多方法可以用于存储和检索数据。常用的方法包括:

文件存储:将数据存储在文本文件或二进制文件中,可以使用Python的

7

湖南商务职业技术学院毕业设计

内置open()函数来读写文件。

关系型数据库:使用关系型数据库(如MySQL、PostgreSQL等)来存储

数据,可以使用Python的sqlite3模块来连接数据库并执行SQL语句。

非关系型数据库:使用非关系型数据库(如MongoDB、Redis等)来存储

数据,可以使用Python的相应模块(如pymongo、redis-py等)来连接数

据库并执行相应的操作。

内存数据库:使用内存数据库(如SQLite)来存储数据,可以使用

Python的sqlite3模块来连接数据库并执行SQL语句。

文件和目录操作:使用Python的os模块来对文件和目录进行操作,如

创建、删除、复制等。

在选择存储技术时,需要根据数据的大小、存储方式、访问频率和性能要

求等因素来进行选择。

本文中使用的存储是CSV文件存储。CSV文件以纯文本形式将表格数据存

储为字符序列,最常见的是用逗号和制表符作为字段之间的分隔符,它相对

excel文件更简洁,先对xls文本没有公式等内容,他只是字符间隔的纯文

本,结构清晰,处理起来也比较方便。本文中用到的就是csv文件存储方式。

PyCharm内置csv模块如图2-1显示:

图2-1PyCharm内置csv模块

2.3.3可视化技术

爬取下来的数据通过预处理、保存为csv文件格式。该数据集我们能否一

眼就得到我们想要的结论呢?答案是否定的!

我们需要一种技术,根据我们获取到的庞大数据将其通过统计学图形的方

式展现在我们眼前,让我们对其结果一目了然。这个就是数据可视化技术。

显然我们获取到的数据是一串串冗长的字符串,上面写的一条条信息或许

我们能够看懂读懂,但是当它成千上万的时候我们短时间内很难看出端倪和破

8

湖南商务职业技术学院毕业设计

绽,我们需要进行深入的了解和分析。对这一坨枯燥而乏味的数据集进行处理

完毕后,我们就要导入需要的第三方库将数据合理的进行判断,决定使用什么

样的几何图形才能最好、并且直观的表达出数据集的信息。

可视化是指将信息、数据或概念以图表、图像或其他形式的可视化方式

呈现出来。可视化的目的是使信息、数据或概念更加直观、清晰和容易理解。

可视化可以帮助人们更快速地看出信息、数据或概念的规律和特点,并做出正

确的决策。在使用可视化时,需要注意选择合适的图表类型,并谨慎解读数

据。此外,还要注意图表的设计和排版,以使图表能够清晰地传达信息。本次

项目中仅仅只是将得到的数据用很简单的可视化手段实现数据可视化,具体的

话就是用python的第三方库Matpoltlab对数据去进行一个可视化,

Matplotlab中包含了很多库,常见的有柱状图、饼图、折线图、散点图、热力

图、地图等。这些图表可以用来表示数据的分布、关系和趋势等信息,可以很

好的将数据高效率的表现出来,可视化图形呈现出来后对于结果自然一目了

然,然后得出结论。

3数据采集

3.1采集页面分析

我们通过谷歌浏览器搜索链家的官方网页,点进去我们就到了链家官方网

站,观察图3-1。

图3-1数据网址页面

9

湖南商务职业技术学院毕业设计

然后找到二手房页面观察图3-2,其中URL为:

/ershoufang/然后点击页面下方的分页按钮,同时观

察URL。

图3-2数据网址页面

发现URL有变化,第二页时URL为:

/ershoufang/pg2/;url有变化,随着页面数而变,

如图3-3

图3-3数据网址页面

10

湖南商务职业技术学院毕业设计

按F12调出开发者工具,刷新页面,如图3-4。

图3-4开发者工具

利用全局搜索工具定位所需数据位置,点击开发者工具上面的Headers字

段,分析这是个什么请求,发现这个是一个GET请求。

3.2字段分析

我们首先来到网页面打开网页的选择栏,然后将选择栏目定位到二手房售

卖信息的位置也就是定位到我们所需要的数据所在的位置,点击源代码发现数

据在一个大的div里面,可以很直观的看到行政区、房源的标题、小区名、位

置、税相关、总价、单价、面积、朝向、装修等信息,观察图3-5

11

湖南商务职业技术学院毕业设计

图3-5分析数据类型页面

3.3编程实现

导入所需库,观察图3-6

图3-6导入所需库页面

设置请求头,伪装成浏览器访问服务器,使爬虫更难被发现,使爬虫能够

访问服务器上的信息。观察图3-7

12

湖南商务职业技术学院毕业设计

图3-7请求头内容页面

代码实现如下:

importre

importcsv

importtime

importmath

importrequests

fromtqdmimporttqdm

frombs4importBeautifulSoup

headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36

(KHTML,likeGecko)Chrome/65.0.3325.146Safari/537.36',

'Referer':'/ershoufang/'}

session=requests.session()

session.get('/ershoufang/',headers=headers)

url='/ershoufang/{}/'

#pg{}/

area_dic={'雨花区':'yuhua',

'岳麓区':'yuelu',

'天心区':'tianxin',

'开福区':'kaifu',

'芙蓉区':'furong',

'望城区':'wangcheng',

'宁乡县':'ningxiang',

'浏阳市':'liuyang',

'长沙县':'changshaxian'

}

#csv表格商品头

defcsv_head():

ky='changsha'

head=['area','title','community','position','tax','total_price','unit_price',

'hourseType','hourseSize','direction','fitment']

#'tax'

csvFile=open(fr'{ky}.csv','a+',newline='',encoding='utf-8-sig')#设置

13

湖南商务职业技术学院毕业设计

newline,否则两行之间会空一行

writer=csv.writer(csvFile)

writer.writerow(head)

csvFile.close()

#存储本地csv

defsave(info):

ky='changsha'

csvFile=open(fr'{ky}.csv','a+',newline='',encoding='utf-8-sig')#设置

newline,否则两行之间会空一行

writer=csv.writer(csvFile)

writer.writerow(info)

csvFile.close()

defre_match(re_pattern,string,errif=None):

try:

returnre.findall(re_pattern,string)[0].strip()

exceptIndexError:

returnerrif

defcollect():

forkey_,value_inarea_dic.items():

#获取该行政区下房源记录数

start_url='/ershoufang/{}/'.format(value_)

html=session.get(start_url).text

house_num=re.findall('共找到<span>(.*?)</span>套.*二手房',html)[0].strip()

print('{}:社区房源共计「{}」套'.format(key_,house_num))

time.sleep(3)

#页面限制每个行政区只能获取`最多100页共计3000条房源信息

total_page=int(math.ceil(min(3000,int(house_num))/30.0))

foriintqdm(range(total_page),desc=key_):

html=session.get(url.format(value_,i+1)).text

soup=BeautifulSoup(html,'lxml')

info_collect=soup.find_all(class_="infoclear")

forinfoininfo_collect:

info_dic={}

#行政区

info_dic['area']=key_

14

湖南商务职业技术学院毕业设计

#房源的标题

info_dic['title']=re_match('target="_blank">(.*?)</a><!--',str(info))

#小区名

info_dic['community']=re_match('xiaoqu.*?target="_blank">(.*?)</a>',

str(info))

#位置

info_dic['position']=re_match('<a

href.*?target="_blank">(.*?)</a>.*?class="address">',str(info))

#税相关,如房本满5年

info_dic['tax']=re_match('class="taxfree">(.*?)</span>',str(info))

#总价

info_dic['total_price']=re_match('<divclass="totalPricetotalPrice2"><i>

</i><spanclass="">(.*?)</span><i>万</i></div>',str(info))

#print(info_dic['total_price'])

#单价

info_dic['unit_price']=float(re_match('data-price="(.*?)"',str(info)))

#匹配房源标签信息,通过|切割

#包括面积,朝向,装修等信息

icons=re.findall('class="houseIcon"></span>(.*?)</div>',

str(info))[0].strip().split('|')

info_dic['hourseType']=icons[0].strip()

info_dic['hourseSize']=float(icons[1].replace('平米',''))

info_dic['direction']=icons[2].strip()

info_dic['fitment']=icons[3].strip()

list=[info_dic['area'],info_dic['title'],info_dic['community'],

info_dic['position'],info_dic['tax'],info_dic['total_price'],

info_dic['unit_price'],

info_dic['hourseType'],info_dic['hourseSize'],

info_dic['direction'],info_dic['fitment']]

save(list)

if__name__=='__main__':

csv_head()

collect()

15

湖南商务职业技术学院毕业设计

4数据清洗与处理

获得庞大的数据集之后我们需要对数据进行预处理,数据清洗与处理是数

据分析的重要步骤。它的目的是确保数据的质量和准确性,并使数据能够被有

效地分析。数据清洗与处理过程包括对数据进行检查,确保它们是正确的、完

整的、一致的和可用的。它还包括对数据进行转换、整合和规范化,以便进行

分析。

本次项目中我们需要将爬下来的数据和网页原数据进行比对,并且检查是

否出现空值、错值,还有数据的位置是否正确。根据不同的需求我们要对数据

进行不同的处理。

4.1数据清洗

使用jupyter导入数据,检查爬取下去的数据是否存在缺失,错位还有空值,

观察图4-1

图4-1数据清洗准备页面

经过比对和检查,发现有一列后续可视化不需要的数据存在空值,那么我

们对其根据需求将有效数据统一规划去掉不要的行列数据,防止数据冗余。因

此我们只需保留需要的数据,然后整理为原网页格式存入changsha1.csv文件

中,留存后续作为统计分析、可视化使用。

16

湖南商务职业技术学院毕业设计

图4-2数据清洗完成界面

4.2数据储存

数据储存得方法有很多种,在Python开发中,有许多方法可用于数据存

储。常见得可以直接用记事本格式储存(txt),或者直接用其他文件的形式

储存比如:数据库存储可以使用Python的数据库驱动程序(如MySQLdb、

psycopg2等)连接数据库,然后使用SQL语句将数据存储到数据库中、序列

化存储可以使用Python的内置模块pickle将对象序列化为二进制数据、内

存数据库可以使用Python的内存数据库(如SQLite、shelve等)将数据保

存在内存中,供程序使用等。CSV文件是纯文本形式的数据存储形式,该文件

是一个字符序列,一个最常见的是逗号作为分隔符和制表符之间的字段,它相

对Excel文件更简洁,首先XLS文本内容如没有公式,他只是纯文本字符空

间,结构清晰,而且处理起来更方便。

如图4-3所示:

17

湖南商务职业技术学院毕业设计

图4-3数据存储CSV页面

4.3编程实现

步骤一:创建一个字符串,以及一个表头列表,后面将其写入

步骤二:使用open打开一个csv文件,将表头列表字符串写入

步骤三:创建一个函数,将后面爬取的数据列表写入csv文件

步骤四:验证存入数据是否正确

18

湖南商务职业技术学院毕业设计

5数据统计与分析

5.1数据准备

将清洗好的数据重新存为一个新的csv文件,导入相关库,使用pandas

加载源数据,如下图5-1、5-2。

图5-1数据准备页面

图5-2数据加载页面

打开PyCharm软件,选择目录下的biyesheji文件,打开处理过的源文件

changsha1.csv,输出文件的前十行查看数据是否完整如图5-3

19

湖南商务职业技术学院毕业设计

图5-3PyCharm页面

5.2数据展示

5.2.1依据不同行政区、户型、朝向、装修类型占比饼状图

图5-4数据展示页面

将在表格中行政区、户型、朝向、装修的字段数据进行汇总和处理然后将

其统计房源数量,最后按降序排列,通过这些统计出来的数据再按照不同字段

生成四个饼图,如上图5-4中可以看出长沙不同行政区之间除去望城区房源少

20

湖南商务职业技术学院毕业设计

一点,其他行政区的房源占比基本一致,这反映出望城区房源偏少,地区不够

繁华。这所有房源其不同户型的房源五室二厅占比最多,占了大约百分之48

左右,其次就是四室二厅占了百分之28左右。另外可以看出长沙二手房中精

装的房子居多,占了百分之50,其次就是毛胚占了百分之19,大家购买房子

时可以根据自己的需求区分。

不仅如此,我还发现长沙二手房最多有大约一半的房子朝向都是南方,其

次就是南北,可以看出大众都喜欢朝向偏南方的房子,选购时可以参考。一般

来说,其实南朝向的房子光照还是非常不错的,不但可以在白天保持充足的阳

光,而且在冬天阳光也能照射到同样的深处。购买南朝向的房子,可以说是完

全不用担心采光会不足的问题。客厅和卧室都能照到太阳,纯南户型在内部布

局时,都会把户型的主要房间,一般是主卧和客厅,布置在朝南的位置,这里

也是户型最好的位置,采光、日照都很好。所以,全朝南户型同时也称为“双

阳房”,大意就是有需要的房间都能接受到阳光。

5.2.2依据不同地区单价总价统计

图5-5数据展示页面

从上图5-5中可以看出来长沙各地区的总价也好单价也好都是岳麓区的价

格最高,总价已经高达两百多万,单价也是到了大约15000每平方米,其次就

是开福区总价大约在190万左右,单价13000每平方米。天心区等其他另外一

些地区的价格都是较低的。岳麓区位居各区县首位,比第二名开福区还要高出

2000多,为何岳麓区房价会如此突出、引领全市呢?

问题很简单,岳麓区位于湘江西岸,占地面积广,发展势头迅猛,第七次

21

湖南商务职业技术学院毕业设计

人口普查有152.7万常住人口,位列长沙各区县之首,近些年来房地产市场十

分活跃,诞生了多个热门板块。因此岳麓区人口最多,近10年来翻了一倍,

人口的增长就是经济发展的缩影,各类城市规划、配套也越来越好,相较于河

东“老城”,岳麓区更像一座“新城”,而更好、更新的规划配套就间接给二

手市场“增值”。人口的增多,经济的增长意味着岳麓区的住房需求就可能高

于其他地区,也就意味着10年间建成了很多楼盘项目,岳麓区的二手房房龄

就普遍很新,老房子比较少,房龄是影响二手房价的重要因素。还有一个关

键,岳麓区教育资源优越,优质学校众多,岳麓区位于长沙西北部,拥有多所

大学、研究所和其他设施。这可能使其成为喜欢靠近教育和研究机会的人们

的理想地点。另外,该区通过公共交通与市内其他地方连接良好,这也可能

吸引买家。导致学区旁二手房价很贵,像市府、梅溪湖等,有很多超过两万、

甚至三万均价的小区,这些也拉高了岳麓区的均价。还有一些可能的因素比如

说住房库存质量,岳麓区的整体住房库存质量可能高于其他地区,这可能会吸

引买家并导致更高的价格。这可能是由于房屋的年龄和状况以及设备、饰面

和户外空间等设施的可用性。市场状况,整体住房市场的变化,包括经济状况

和利率,也可能影响岳麓区的二手房价格。

5.2.3根据地段进行统计和分析

图5-6数据展示页面

从上图5-6中可以得知梅溪湖北岸和市政府是房价最高的地段。

这两个地段房子地理位置优越,长沙市政府地段位于市中心地段,交通便

利,周边配套设施齐全,这些都是房价较高的因素。市中心地段的房屋价格通

常会比郊区或者远离市中心的地方高,因为市中心地段的交通便利,周边配套

22

湖南商务职业技术学院毕业设计

设施齐全,更方便生活工作。房屋品质较高,长沙市政府地段的房屋一般都是

偏新的房子或者近期装修过的房屋,房屋品质较高,因此房价也相对较高。房

屋的品质是影响房价的重要因素,较新的房屋或者装修较精细的房屋,价格通

常会比老房或者装修粗糙的房屋高。而且土地使用权高,土地使用权是房屋价

格的重要因素之一。由于长沙市政府地段的土地使用权较高,因此房屋价格也

相对较高。土地使用权指的是土地所有人对土地的使用权限,土地使用权越

高,房屋价格就越高。加上一般这地段的房子供应量少,长沙市政府地段的房

屋数量较少,而需求量却很大,这也是导致房价较高的原因之一。供求关系是

影响房价的重要因素,如果供应量少而需求量大,房价就会较高。这两个地段

经济发达,所有房价偏高。梅溪湖北岸除了以上原因以外,最主要的原因是因

为教育资源优越,优质学校众多拥有多所大学、研究所和其他设施。这可能

使其成为喜欢靠近教育和研究机会的人们的理想地点。另外,该区通过公共

交通与市内其他地方连接良好,因为是学区房,所以导致该地区的房子价格最

高。

5.2.4依据房间大小及分布密度和房价的关系进行统计

图5-7数据展示页面

我们提取2022年底的数据,将其以柱形图折线图以及散点图的形式可视

化,我们从图5-7折线柱形图可以看出长沙的二手房的房间大小基本都处在60

到300之间,图基本上成垂直形状,分布的很集中。而且从整个图形来看数据

23

湖南商务职业技术学院毕业设计

占比大部分都是100到150这个区间居多,由此可以看出长沙的二手房房间大

小大部分都是100平方到150平方的样子,200以上的就比较少,因为这些房

屋的建造成本较高,市场需求也较少。此外,由于土地资源有限,建造200平

方米以上的房屋可能会受到限制。长沙是一座人口约1400万的城市,但是由

于土地有限,建造大型住宅可能会受到限制。此外,长沙的房地产市场可能存

在其他因素,如需求和供应的平衡,以及政府的房地产政策等,这些因素也可

能会影响200平方米以上的二手房的数量。

提取出所有的元素和数据不难发现。整个图像呈现一种尖锥状态。似乎存

在某种规律,说明数据分布很集中,基本上都是在这个区间,这个的房间大小

符合人们的居住需要。我们再观察右边的散点图,这是将2022年底的数据的

房间大小和总价关系绘制的散点图,从图中不难看出,房间大小和价格成正

比,即房间越大,总价就越高。这是因为通常情况下,房间越大,建造成本就

越高,同时市场需求也更高。因此,在长沙的二手房市场中,房间越大的房屋

的总价通常也会越高。

但是,要注意的是,这种关系并不总是严格的正比关系。在某些情况下,

房间较大的房屋的总价并不一定比房间较小的房屋的总价高,这可能是由于房

屋所在的地理位置、周边环境、房屋质量等因素的影响。因此,在观察长沙的

二手房市场时,应考虑这些因素的影响,以便更准确地评估房屋的价值。

5.3本章小结

综上,影响长沙二手房房价的因素有很多,其中影响最大的因素就是教育

资源优越,优质学校众多拥有多所大学、研究所和其他设施,地理位置优越,

这是关键,另外就是房屋朝向,房屋的方向决定了房间的采光如何,装修方面

决定了是自己设计装修风格还是选择现成的自己喜欢的风格,还有户型决定了

以后家庭的居住人数,等等方面,另外就是房间大小也与价格息息相关,房间

越大,建造成本就越高,同时市场需求也更高,越大的房屋的总价通常也会越

高。通过对链家网长沙二手房各行政区的二手房售卖合集数据的爬取,我们得

到了长沙最近发布的所有二手房信息和各项数据,通过分析这些数据得出结

论,长沙的岳麓区是所有行政区中房价最高的,可能是岳麓区学府集中,加上

需求大等因素。长沙二手房大部分房间的大小都是在100平方150平方这个区

间,朝向为南方和偏南方的居多,这表明采光很好。而且大部分房子都是精

装,这是因为二手房都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论