我有个小外甥,今年准备毕业,在我的极力劝说下来到了深圳工作,那第一件事就是租房子了。

深圳的房价大家也知道,最近几年涨的厉害,3万一平都买不到什么好房子,其实看到这个情况,我着实为下一代担心,月入2W的应届毕业生寥寥无几,就是进了大厂赚到了钱,面临的压力也是非常大,最后买房就变成了掏空两个家庭一辈子的事情。

今天是周五,闲来无事,我就用Python爬点深圳房价的数据,然后做出可视化分析分析吧。

来了就是深圳人哈哈哈哈

Python对于我的粉丝来说可能很简单,大家都是做IT的,面对最简单的语言不得大展身手?大家做可视化用什么工具呢?其实python也能,但是可视化太丑了,还很麻烦,所以不考虑。

Pyecharts,Echarts,Highcharts...会点程序很重要阿,一个charts就能玩出这么多花样,但是他们最多算个图表插件罢了,我还是喜欢用现成的工具,比如BI工具。说到BI,我不止一次地给你们推荐,今天就来做个实际操作。

FineBI是交互式数据可视化BI工具,可以快速地把数据转化为各种漂亮的可视化图表。

FineBI做出的驾驶舱

除此之外,FineBI这款商业分析工具还可以制作出更多漂亮的图表,协作并共享自定义仪表板和交互式报表等,文末给你们送上它的下载地址,先看分析。

一、数据获取

我们的数据来源是链接网上的信息,应该还挺全的,虽然最近它在裁员....

这就是我们需要的数据页面了

爬取各个行政区房源信息,并数据保存为DataFrame,话不多说,直接上代码:

area_dic = {'罗湖区':'luohuqu','福田区':'futianqu','南山区':'nanshanqu','盐田区':'yantianqu','宝安区':'baoanqu','龙岗区':'longgangqu','龙华区':'longhuaqu','坪山区':'pingshanqu'}# 加个header以示尊敬
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36','Referer': 'https://sz.lianjia.com/ershoufang/'}# 新建一个会话
sess = requests.session()
sess.get('https://sz.lianjia.com/ershoufang/', headers=headers)# url示例:https://sz.lianjia.com/ershoufang/luohuqu/pg2/
url = 'https://sz.lianjia.com/ershoufang/{}/pg{}/'# 新建一个DataFrame存储信息
data = pd.DataFrame()for key_, value_ in area_dic.items():# 获取该行政区下房源记录数start_url = 'https://sz.lianjia.com/ershoufang/{}/'.format(value_)html = sess.get(start_url).texthouse_num = re.findall('共找到<span> (.*?) </span>套.*二手房', html)[0].strip()print('{}: 二手房源共计「{}」套'.format(key_, house_num))time.sleep(1)# 页面限制 每个行政区只能获取最多100页共计3000条房源信息total_page = int(math.ceil(min(3000, int(house_num)) / 30.0))for i in tqdm(range(total_page), desc=key_):html = sess.get(url.format(value_, i+1)).textsoup = BeautifulSoup(html, 'lxml')info_collect = soup.find_all(class_="info clear")for info in info_collect:info_dic = {}# 行政区info_dic['area'] = key_# 房源的标题info_dic['title'] = re_match('target="_blank">(.*?)</a><!--', str(info))# 小区名info_dic['community'] = re_match('xiaoqu.*?target="_blank">(.*?)</a>', str(info))# 位置info_dic['position'] = re_match('<a href.*?target="_blank">(.*?)</a>.*?class="address">', str(info))# 税相关,如房本满5年info_dic['tax'] = re_match('class="taxfree">(.*?)</span>', str(info))# 总价info_dic['total_price'] = float(re_match('class="totalPrice"><span>(.*?)</span>万', str(info)))# 单价info_dic['unit_price'] = float(re_match('data-price="(.*?)"', str(info)))# 匹配房源标签信息,通过|切割# 包括面积,朝向,装修等信息icons = re.findall('class="houseIcon"></span>(.*?)</div>', str(info))[0].strip().split('|')info_dic['hourseType'] = icons[0].strip()info_dic['hourseSize'] = float(icons[1].replace('平米', ''))info_dic['direction'] = icons[2].strip()info_dic['fitment'] = icons[3].strip()# 存入DataFrameif data.empty:data = pd.DataFrame(info_dic,index=[0])else:data = data.append(info_dic,ignore_index=True)

够意思吧,直接给各位学习,就是希望大家能一起交流,喜欢的记得帮我评论666。

最后我们爬到的部分数据是这样的,链家房源的数据还是挺靠谱的:

二、数据处理

上面说FineBI,我们就来看一下为什么是它。

下载好之后,直接创建数据集,导入我们刚刚获取的房价数据:

同时,它内部自带ETL功能,直接在软件内操作就好,就算脏数据也没有关系,大大节约了我的时间。

数据处理好之后,新建仪表板,就可以直接分析了,整个过程都是在浏览器上进行的,反应很迅速。

三、深圳房价可视化分析

从取数到分析出来,我一共花了半小时左右,个人觉得速度太快了,因为实在是太方便了。

我们一共做这6个可视化分析:

  • 房源面积-总价散点图
  • 各行政区均价
  • 均价最贵的10个地段
  • 均价最贵的10个小区
  • 户型分布
  • 房源描述词云图

1、房源面积-总价散点图

大家可以忽略最上面那个8800万的,那可能是腾讯马总的房子....

可以看出来,深圳的房价是非常贵的,一个总价200W的房子,可能就只有几十平方,真的就是寸土寸金。

如果你从毕业开始就进入腾讯或者华为,一路升职,你或许可以靠自己的力量在这里安家。来了就是深圳人,这也可能只是一句口号罢了。

因为我也曾迷茫。

2、各行政区均价

最贵的是南山区,整体均价9.2W/平米;最便宜的是坪山区,均价3.5W/平米。

南山区拥有最多的名企,最好的医院、学校、商场。

3、均价最高的10个小区

上面的这些小区,一般人是难以承受的,但是据我了解,入住率是不低的,说明深圳还是一座充满机会的城市。

4、均价最高的10个地段

深圳湾就不说了,是重点发力的地区,无敌海景,我要是有钱,我也去买(我就是想想),比上海的黄浦江便宜一点。

5、户型分布

3室2厅的房子数量是最多的,可是别以为大,在深圳,90平方的房子也能给你变成三室两厅,所以这个数据没什么价值,你只需要知道3室2厅及以下的占比达到了75%就够了。

6、房源描述词云图

大家买房也就注意这么几个点:朝南、采光、户型、地铁、装修、几年,海景不海景的无所谓,毕竟海景房这些都有....

总结

以上就是我用FineBI给大家带来的数据分析实战,这个工具是不是很方便呢,虽然定位是企业级的数据分析平台,但是对于个人来说是不收费的,大家可以尝试一下。

房价不会因为最近的事情下降的,所以年轻人,努力吧~

有兴趣的可以评论“房价”,即可获得源代码和工具地址!

仅用半小时,从Python爬取到BI可视化,告诉你深圳房价有多贵相关推荐

  1. Python爬取豆瓣+数据可视化

    博客原文和源码下载:Python爬取豆瓣+数据可视化 前言 前段时间应我姐邀请,看了一下Python爬虫.不得不说Python的语法确实简洁优美,可读性强,比较接近自然语言,非常适合编程的初学者上手. ...

  2. 用Python爬取42年数据,告诉你高考有多难!

    视学算法 有态度  有意思  有温度 一个逗比青年的自留地 关注 对于像作者一样已经工作的"上班族"来说,6月7号到9号三天无疑是兴奋到飞起的,终于迎来了令人愉悦的端午假期: 然而 ...

  3. python找出录取率最高的年份_用Python爬取42年数据,告诉你高考有多难

    高考经历了42年 历年录取率究竟咋样? 我们首先看下1977-2018年历年的录取人数和未录取(落榜)人数变化情况,本文数据均来自于网络公开高考数据: 可以看到1977年恢复高考之后的几年,由于种种原 ...

  4. 小牧用Python 爬取数万条房产数据,揭秘一线城市生存压力有多大

    最近各大一二线城市的房租都有上涨,究竟整体上涨到什么程度呢?我们也不得而知,于是乎笔者为了一探究竟,便用 Python 爬取了房某下的深圳租房数据.以下是本次的样本数据: 除去[不限]的数据(因为可能 ...

  5. python 爬取24小时天气数据

    python 爬取24小时天气数据 1.引入相关库 # -*- coding: utf-8 -*- import requests import numpy as np 关于爬虫,就是在网页上找到自己 ...

  6. python爬取图片源码_半次元图片爬取-python爬取半次元图片源码下载-西西软件下载...

    python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋 ...

  7. python爬取12306列车信息自动抢票并自动识别验证码(一)列车数据获取篇

    项目前言 自学python差不多有一年半载了,这两天利用在甲方公司搬砖空闲之余写了个小项目--[12306-tiebanggg-master].注:本项目仅供学习研究,如若侵犯到贵公司权益请联系我第一 ...

  8. python 24位图转 8位_Python爬取PPT模板小工具下载-Python爬取PPT模板小工具免费版下载v1.0...

    由于很多PPT抓取工具都会因为版本问题无法使用,所以论坛大神就自己写了这款Python爬取PPT模板小工具,可以帮助用户轻松获取各种PPT模板,使用的时候注意一次只能下载一种类型.软件仅供交流学习,下 ...

  9. 用 Python 爬取了《雪中悍刀行》数据,终于知道它为什么这么火了

    转载来源/志斌的python笔记 绪论 大家好,我是J哥. 本期是对腾讯热播剧--雪中悍刀行的一次爬虫与数据分析,耗时一个小时,总爬取条数1W条评论,很适合新人练手. 爬虫方面:由于腾讯的评论数据是封 ...

最新文章

  1. mlcc激光雷达与相机外参标定初体验
  2. PHP简单实现一言 / 随机一句功能
  3. 双系统XP和ubuntu,升级ubuntu出现no such device grub rescue
  4. 计算道路超高lisp_5G+AI超高清智能视频监控将迎来增长期
  5. Keil forc51安装教程
  6. IDEA : IDEA 打开使用内存监控
  7. [导入]使用ASP.NET AJAX的注意事项
  8. 程序人生之二 IoC—如何才能快乐
  9. HDU 2079 选课时间(母函数)
  10. oracle plsql 命令,Oracle PlSQL常用命令
  11. 踩过坑的可控硅设计 经验总结
  12. Verilog 交通灯控制器
  13. js两时间相减获得天数
  14. python中import re_彻底搞懂Python 中的 import 与 from import
  15. 元宇宙链游OAS即将正式上线,社区热度只增不减
  16. java 变量 英文_java 变量(翻译自Java Tutorials)
  17. Brew doctor warns about “Warning: A newer Command Line Tools release is available”
  18. 将打开网页以网页 仅HTML,网页保存的不同方法
  19. [数据分析方法论]互联网人必须要懂的“幸存者偏差”
  20. Spire.PDF for Java 4.8.7 Crack

热门文章

  1. 风之大陆电脑版要下载c语言,风之大陆电脑版
  2. SQL Server中的动态SQL
  3. sql数据库性能指标_SQL Server网络性能指标–最重要的指标
  4. sql azure 语法_如何在SQL 2016中使用Azure Key Vault使用AlwaysOn配置TDE数据库
  5. sql 时态表的意义_SQL Server中的时态表
  6. Redis实现分布式爬虫
  7. python3.X出现关于模块(i18n)的不能使用的解决方法
  8. leetcode-Single Number II-137
  9. storyboard之 Segue
  10. POJ-2135 Farm Tour 最小费用流