基于Python的房屋信息可视化及价格预测系统
- 开发语言:Python
- 框架:django
- Python版本:python3.10(必须)
- 数据库:mysql 5.7
- 数据库工具:Navicat12
- 开发软件:PyCharm
系统展示
系统首页
系统登录
房价预测
房屋管理
房屋分析
个人信息
密码修改
用户管理
摘要
在计算机刚开始发展的时候就出现了许多的宣传自己楼盘的网页,但是因为技术的限制很多功能都无法实现,再加上硬件设备的限制导致系统并不完美,有很多不符合购房者们使用习惯的瑕疵,也有很多的功能缺陷。随着计算机编程语言的不断发展和移动设备的出现和各种算法的发展,房屋价格的预测也越来越准确。
本系统使用Python语言和MySQL数据库开发,可以为各地准备购房的人群或者想要了解房间的人群提供房价预测、房屋分析、用户管理等多种功能,让用户不需要再繁琐的查看每个楼盘各时期的价格就可以进行对自己心仪的房屋进行价格的预测,避免在房价最高时入场导致不必要的经济损失。
研究背景
随着人们生活水平和收入水平的提高,人们不必再为温饱问题担忧,人们都在想办法从各方面去提高自己的生活质量,选择一个好的房屋作为住所就是提高自己生活质量的一种方式。计算机技术对当今社会发展和人们生活水平的提高是很重要的组成部分,人们可以通过网络从衣食住行等方面提高自己的生活质量,比如不想做饭的时候可以通过外卖平台下单点餐;想买新衣服但又不想出门的时候可以通过淘宝网等购物网站进行衣服的挑选;想要出行可以提前通过携程网或途游旅行等应用进行机票或酒店的预购……通过网络进行线上的操作可以避免很多时间的浪费。
关键技术
Python是解释型的脚本语言,在运行过程中,把程序转换为字节码和机器语言,说明性语言的程序在运行之前不必进行编译,而是一个专用的解释器,当被执行时,它都会被翻译,与之对应的还有编译性语言。
同时,这也是一种用于电脑编程的跨平台语言,这是一门将编译、交互和面向对象相结合的脚本语言(script language)。
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈·莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。
5.缓存系统。
HTML语言的全称是超本文标记语言,HTML语言可以将文字、图片或者视频展现在网页上,但仅仅使用标签排列会使得网页杂乱无章,所以本系统的前台页面还使用了CSS技术和JavaScript技术。CSS是层叠样式表的缩写,编程人员可以使用DIV+CSS的布局方式对网页进行美化,这样对网页后期的维护和更新非常方便,如果有需要增加的内容就不需要再次书写样式了,只需要在网页中使用已有的样式即可。JavaScript是一种脚本语言,可以为网页增加更多的功能,比如可以增加动态效果等。
MYSQL数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性。
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。
系统分析
对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
系统设计
功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
系统实现
用户注册登录:用户们(这里的用户主要是学校负责网络安全的老师)需要按照相关的法律法规进行注册,注册后才可以使用本系统。
首页模块:网站的前台页面主要对所有菜单进行显示,除此之外还能显示最新的房价预测信息、房屋信息等。
房价分析模块:系统具有数据爬取功能,可以爬取各大房屋销售网站(例如安居客、58同城等)的房价数据,可以根据用户对房屋的各种需求进行爬虫,对结果进行数据分析。
房屋管理模块:可以查看所有房屋的预测数据并进行管理。
系统测试
软件测试的目的是为了发现潜在的功能缺陷。一个画面再漂亮的系统如果有功能缺陷也是无人敢用的,比如本系统的言论分析功能,如果用户没有经过爬虫和分析就进行言论的删除,那会造成很多误删的情况,同时也会降低在学生用户或老师用户心中的可信度,毕竟一个存在缺陷的系统是没有人愿意使用的。在计算机软件刚刚兴起的时候,人们不太注重软件测试这个环节,其实软件测试是整个软件开发过程中不可忽略的一个组成部分,没有软件测试环节的系统是不健全的系统,是无法投入使用的系统。
结论
本次毕业设计使用的是Python+MYSQL的开发模式,在结合了自己的生活经验以及对他人进行的调查问卷之后最终完成了系统的开发,并且所有的功能都可以正常使用。在为自己通过四年的学习可以做出一个完整的项目的同时也在反思自己开发的这个系统有哪些不足,最终发现在以下几个方面还有待提升点:
1、某些模块的代码结构冗余,代码执行效率及可读性较差,某些模块中结构不清晰,经过思考发现可以使用面向对象思想中的继承和多态进行改进。
2、数据库的设计较为单一,并且书写SQL查询语句时只用了连接查询和相关子查询等,这会造成查询较多数据时查询速度慢的问题。改进的方法就是使用存储过程和视图来替代复杂的查询语句。
3、用户的数据分析和爬虫未在系统中与安居客或58同城等平台真正进行连接,这方面的知识自己比较欠缺,但经过了解后发现只要在相应的官网下载相关的接口与自己系统进行连接就有可能实现真正的在线链接。