最近,本可人儿最近在学习大数据的分析和计算,正好利用所学的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轴数据都能显示出
基本可以得出结论 ,普通人基本是没有什么可能在北京买房子的,二手房的价格都贵的离谱,更不要说新房了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)