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

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

作者:互联网

前言

最近,本可人儿最近在学习大数据的分析和计算,正好利用所学的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数据库中
爬取信息字段的定制
随机请求头中间件
Xpath解析
数据库插入语句
插入数据
本次爬取的范围为链家网站北京二手房的前50页

3、数据存储
在终端打开MySQL数据库,进入数据库,执行建表语句
在这里插入图片描述
爬虫执行完毕后,进入MySQL数据库中即可看见爬取的数据。
在这里插入图片描述
4、数据分析
SparkSQL连接MySQL数据库,读取数据,形成DataFrame
通过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轴数据都能显示出

结果展示

在这里插入图片描述
基本可以得出结论 ,普通人基本是没有什么可能在北京买房子的,二手房的价格都贵的离谱,更不要说新房了。

标签:爬虫,链家,爬取,二手房,各区,MySQL,可视化,Spark,数据
来源: https://blog.csdn.net/weixin_45948271/article/details/122266845