利用Python爬虫和Tableau分析链家 二手房信息

1、明确分析的目标和思路

分析思路:通过python爬取链家 二手房信息,经过数据清洗、规约等处理后,导入Tableau软件,进行可视化分析,得出结论。

 

2、爬取链家 二手房信息

以上海市中心城区为分析对象,包括黄浦、徐汇、长宁、静安(包括原静安和闸北)、普陀、虹口、杨浦。

首先,打开链家 ,分析 页中的元素,如下图

标 1处是各行政区的小区数量,这个数字可用来控制python生成的小区列表页 址的数量;

标 2处是小区列表页各个小区的链接,可以获取链接的 页地址,进去各个小区的详情页,从而爬取各个小区的信息。

接下来,就可以用python编写爬虫程序了。

(1)导入需要用到的模板

(2)分析链家 小区页面的URL地址后,可以发现其中的规律,定义area_urls()函数,获取各个行政区小区页面的首页URL地址

(3)定义detail_urls()函数,获取所有的小区页面的URL地址,这时标 1处的小区数量就派上用场了

(4)定义get_community_info()函数,爬取小区信息(小区名称、地址、房屋总数、建筑年代、小区均价、在售二手房)

最后,把爬取的结果存到Excel文档中。

 

3、数据处理

(1)根据小区地址字段解析地图经纬度,这里用到软件XGeocoding,工作界面如下:

结果输出如下,P、Q列即为纬度和精度。

(2)绘制各区的多边形地图的坐标点,用到软件Draw Tool for Tableau,界面如下:

结果输出如下:

这样就可以在Tableau地图上绘制多边形地图了。

(3)数据规约

买卖活跃度 = 在售二手房 / 房屋总数

建筑年代根据“5年以内”,“10年以内”,“15年以内”,“20年以内”,“20年以上”分为五类,分别评分100/80/60/40/20。

区域人口稠密程度 = 面积 / 人口数(百度可知)

最终处理好的数据如下所示:

 

4、数据可视化

(1)分析各区域的人口稠密程度

根据多边形地图颜色的深浅可知,长宁区的人口稠密程度最高,虹口区最低。

(2)分析小区房龄的分布情况

如图所示:

a. 上海市中心城区的小区房龄大部分在20年以上;

b. 越往外围扩散,房龄小的房子越多。

(3)分析小区均价的分布情况

如图所示:

a. 均价高的小区多集中在内环,越往外围扩散,均价越低;

b. 由于黄浦区基本都处于中心区域,所以均价高的小区数最多;杨浦区和普陀区的位置相对较偏,所以均价相对低的小区居多。

(4)分析小区的买卖活跃度

如图所示,基本与小区房龄的分析图如出一辙,上海市中心城区的小区买卖活跃度相对外围小区偏低。

原因分析如下:

a. 中心城区房价偏高,且住户多本地老人,换房意愿不强;

b. 外围小区的房价较低,且住户多年轻人,刚需或置换意愿较强。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树 络爬虫urllib208363 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月10日
下一篇 2018年7月10日

相关推荐