从链家爬取北京各区二手房房价进行分析并实现数据可视化

前言

最近,本可人儿最近在学习大数据的分析和计算,正好利用所学的Spark的相关知识做一点小东西。使用的语言是python。

使用工具

爬虫:Scrapy框架和Xpath数据解析
数据存储:MySQL
数据分析:Spark 3.2.0
数据可视化:pyecharts库
IED:Pycharm
OS:Ubuntu 20.04

设计步骤

一、Hadoop和Spark的安装配置
这些工具的安装和配置都在站内可以找到,本可人儿安装的Hadoop和Spark只是本地模式,没有构建集群。

二、爬虫代码的编写
1、登录链家官网、进入二手房页面,进入二手房具体页面,观察具体需要爬取数据的位置。
从链家爬取北京各区二手房房价进行分析并实现数据可视化
可以发现,主要爬取的信息(楼盘名,房价,所在区名)位于body标签下的class值为overview的div标签下的class值为aroundInfo的div标签下,可以通过右键点击相应信息的标签,复制xpath路径,从而定位信息

2、定制爬虫
在Scrapy爬虫模板下的item.py文件中定制爬取信息,在middleware.py中编写代理中间件和随机请求头中间件,随机请求头使用fake_useragent库。在新建的爬虫文件中编写爬虫代码。修改pipeline.py,使数据存储到MySQL数据库中
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
本次爬取的范围为链家网站北京二手房的前50页

3、数据存储
在终端打开MySQL数据库,进入数据库,执行建表语句
从链家爬取北京各区二手房房价进行分析并实现数据可视化
爬虫执行完毕后,进入MySQL数据库中即可看见爬取的数据。
从链家爬取北京各区二手房房价进行分析并实现数据可视化
4、数据分析
从链家爬取北京各区二手房房价进行分析并实现数据可视化
通过DataFrame自带的各种操作api,通过对location字段进行分类后获取对应的price字段的最大值、最小值和平均值。
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
5、数据可视化
从链家爬取北京各区二手房房价进行分析并实现数据可视化
根据获取的列表数据生成柱状图,(data_x是location字段,即楼板所在区的区名,data_y1等是对应区的二手房的最大值、最小值等,name1等是maxium的名称标志)。通过option.ItemStyleOpts(color=’’)修改颜色。通过set_global_opts(xaxis_opts=option.AxisOpts(axislabel_opts={‘interval’:‘0’}))使得x轴间隔距离为0,保证所有x轴数据都能显示出

结果展示

从链家爬取北京各区二手房房价进行分析并实现数据可视化
基本可以得出结论 ,普通人基本是没有什么可能在北京买房子的,二手房的价格都贵的离谱,更不要说新房了。

上一篇:spark比mapreduce快的原因


下一篇:【硬刚Kylin】Kylin入门/原理/调优/OLAP解决方案和行业典型应用