房地产行业在我国属于支柱性产业,在我国社会经济发展中一直扮演着重要角色。房价问题,尤其是大中城市的房价问题,一直是政府、大众和众多研究人员关注的热点。如何科学地预测房价是房价问题的研究方向之一。随着互联网时代的来临,如今越来越多的民众选择通过网络获取房源信息并进行选房购房,如何尽可能多角度的呈现房源信息帮助民众选房成为一个值得深人研究的课题。
为此,本研究使用爬虫技术获取温州二手房的房源信息,然后使用数据处理模块采用去重、分组、填补缺失值等处理方法,并根据处理的结果,找出各个变量之间的线性或者非线性关系,从而找出影响房价的因素。在房价数据抓取阶段使用Python爬虫技术,该方法获取的房价数据与传统从政府信息网站获取的房价数据相比更加丰富并具有时效性。在房价数据处理时使用pandas库和正则表达式对房源信息进行处理,在利用热力图找出各个变量和房价直接的关系,从而找出影响房价的原因。在房价数据展示部分利用pyechart实现房源统计信息可视化展示,包括呈现房价排名、房价区间等等可视化图表,可以帮助消费者更加高效了解房源信息,更快更清晰地选房、购房。
本研究主要实现一个基于Python 爬虫的房地产数据可视化分析系统。此系统实现了beautifulsoup框架进行数据采集、pandas数据处理、MySQL进行数据存储、以及使用pyechart进行数据可视化等部分。主要研究内容分为以下五点:
1、基于beautifulsoup框架的房源信息采集,爬取目标数据包括基本信息、房屋属性、交易属性等
2、伪装请求头和使用ip代理、设置采集频率等方式对抗反爬虫。
3、pandas库和正则表达式对房源数据进行处理。对爬取数据进行查数据一致性,处理无效值和缺失值等操作目的在于删除重复信息、纠正存在的错误,并提供数据一致性。
4、mySQL持久化存储数据。
5、Pyecharts数据可视化展示。可视化模块对数据进行可视化的呈现,使消费者更直观的观察各地区价格户型之间差异。
- 引言;剖析研究背景和意义,说明研究的内容。
- 开发技术;代码主要使用了python技术,beautifulsoup爬虫框架和myspl数据库,并对此做了介绍。
- 需求分析;囊括需求功能、流程图进行了分析。
- 功能需求设计;包括爬虫功能模块、数据处理模块、可视化模块和数据库进行详细设计。
- 功能需求实现;对需求和功能实现和描述。
- 功能测试。包括爬虫、和数据处理、数据库等模块进行测试
- 总结心得;在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢
二、开发技术
Python语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然python也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响python成为此次设计语言的选择。
表2-1 Python优势
序号 |
优势 |
1 |
Python面向对象技术,有四个特点:封装、继承、多态、抽象。 |
2 |
Python通用性强,在任何平台上,只要有Python虚拟机,Python代码都能运行 |
3 |
Python对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误 |
4 |
Python提供了多线程功能,利用编程实现同一时间同时工作的功能。 |
(二)MySQL数据库
因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。 由于MySQL的速度,可靠性和适应性,MySQL受到重视。
是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。利用它我们不在需要编写正则表达式就可以方便的实现网页信息的提取。
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password root
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 root 安装完毕。
</