ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-01 13:59:11  阅读:237  来源: 互联网

标签:爬虫 链家 爬取 二手房 各区 MySQL 可视化 Spark 数据


前言

最近,本可人儿最近在学习大数据的分析和计算,正好利用所学的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有