昨天还幻想海边别墅的年轻人,今天可能开始对房租绝望了。

8月初,有网友在“水木论坛”发帖控诉长租公寓加价抢房引起关注。据说,一名业主打算出租自己位于天通苑的三居室,预期租金7500元/月,结果被二方中介互相抬价,硬生生抬到了10800。

过去一个月,全国热点城市的房租如脱缰野马。一线的房租同比涨了近20%。一夜醒来,无产青年连一块立锥之地都悬了。

从2018下半年开始,租金海啸汹汹来袭,资本狂欢,官方默然,房东纠结,租客尖叫。

这不是一方的过错,而更像是一场全社会的“集体谋杀作品”。最令人不安的是,过去房地产的那套玩法和上涨逻辑,今天正在转移到房租上。

房租暴涨的不只是北京。有数据显示,7月份北京、上海、广州、深圳、天津、武汉、重庆、南京、杭州和成都十大城市租金环比均有所上涨。其中北京、上海、深圳的租金涨幅最猛,北京7月份房租同比上涨3.1%,有小区甚至涨幅超过30%。

图自“21世纪经济报道”《最新房租数据出炉,你一个月要交多少钱?(附房租地图)》一文

接下来,恋习Python通过Python大法通过获取某网数万条北京租房数据,给大家说说真实的房租情况。

还是老规矩,老套路(是不是有股熟悉的味道),恋习Python常用的三部曲:数据获取、数据清洗预览、数据分析可视化,与你一起探究最近房租的状况。

一、数据获取

恋习Python今日就把目前市场占有率最高的房屋中介公司为目标,来获取北京、上海两大城市的租房信息。(目标链接:https://bj.lianjia.com/zufang/)

整体思路是:

  • 先爬取每个区域的url和名称,跟主url拼接成一个完整的url,循环url列表,依次爬取每个区域的租房信息。

  • 在爬每个区域的租房信息时,找到最大的页码,遍历页码,依次爬取每一页的二手房信息。

post代码之前简单讲一下这里用到的几个爬虫Python包:

  • requests: 就是用来请求对链家网进行访问的包

  • lxml:解析网页,用xpath表达式与正则表达式一起来获取网页信息,相比bs4速度更快

详细代码如下:

import requests
import time
import re
from lxml import etree# 获取某市区域的所有链接
def get_areas(url):print('start grabing areas')headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}resposne = requests.get(url, headers=headers)content = etree.HTML(resposne.text)areas = content.xpath("//dd[@data-index = '0']//div[@class='option-list']/a/text()")areas_link = content.xpath("//dd[@data-index = '0']//div[@class='option-list']/a/@href")for i in range(1,len(areas)):area = areas[i]area_link = areas_link[i]link = 'https://bj.lianjia.com' + area_linkprint("开始抓取页面")get_pages(area, link)#通过获取某一区域的页数,来拼接某一页的链接
def get_pages(area,area_link):headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}resposne = requests.get(area_link, headers=headers)pages =  int(re.findall("page-data=\'{\"totalPage\":(\d+),\"curPage\"", resposne.text)[0])print("这个区域有" + str(pages) + "页")for page in range(1,pages+1):url = 'https://bj.lianjia.com/zufang/dongcheng/pg' + str(page)print("开始抓取" + str(page) +"的信息")get_house_info(area,url)#获取某一区域某一页的详细房租信息
def get_house_info(area, url):headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}time.sleep(2)try:resposne = requests.get(url, headers=headers)content = etree.HTML(resposne.text)info=[]for i in range(30):title = content.xpath("//div[@class='where']/a/span/text()")[i]room_type = content.xpath("//div[@class='where']/span[1]/span/text()")[i]square = re.findall("(\d+)",content.xpath("//div[@class='where']/span[2]/text()")[i])[0]position = content.xpath("//div[@class='where']/span[3]/text()")[i].replace(" ", "")try:detail_place = re.findall("([\u4E00-\u9FA5]+)租房", content.xpath("//div[@class='other']/div/a/text()")[i])[0]except Exception as e:detail_place = ""floor =re.findall("([\u4E00-\u9FA5]+)\(", content.xpath("//div[@class='other']/div/text()[1]")[i])[0]total_floor = re.findall("(\d+)",content.xpath("//div[@class='other']/div/text()[1]")[i])[0]try:house_year = re.findall("(\d+)",content.xpath("//div[@class='other']/div/text()[2]")[i])[0]except Exception as e:house_year = ""price = content.xpath("//div[@class='col-3']/div/span/text()")[i]with open('链家北京租房.txt','a',encoding='utf-8') as f:f.write(area + ',' + title + ',' + room_type + ',' + square + ',' +position+','+ detail_place+','+floor+','+total_floor+','+price+','+house_year+'\n')print('writing work has done!continue the next page')except Exception as e:print( 'ooops! connecting error, retrying.....')time.sleep(20)return get_house_info(area, url)def main():print('start!')url = 'https://bj.lianjia.com/zufang'get_areas(url)if __name__ == '__main__':main()复制代码


二、数据清洗预览

数据共14038条,10个维度,由上图可看出北京房源均价为9590元/月,中位数为7000。一半的房源价格在7000以下,所有房源的价格区间为[1000,250000],价格极差过大。

三、数据分析可视化

四维度-北京房租均价

接下来,恋习Python将北京各区域、各路段、各楼盘房屋数量、均价分布放在同一张图上,更直观地来看待房租

从图中可看出,最近,北京市各区域的房租均在6000元/月以上,其中最高区域为东城,均价达12463元/月。不过,由于房源信息过多过杂,房屋位置、面积、楼层、朝向等对价格均有较大影响,因此,价格这个维度需要进一步分析。

由上图可得,各路段的均价基本都在6000以上,其中海淀北部新区的房源数最多,但均价最低,为3308元/月,这或许与海淀北部生态科技新区作为高新技术产业的承载区、原始创新策源地的研发基地,以及科技园集聚区,目前已入驻华为、联想、百度、腾讯、IBM、Oracle等近2000家国内外知名的科技创新型企业有关。另一方面,海淀紫竹桥的房价竟一起冲天,其附近以博物馆、体育场馆为特色,交通便利,配套设施完善,均价较高也是情理之中。

可以看出,不同楼盘的均价浮动很大,但都在6000/月以上。最高的甚至达到17516/月。由于每个楼盘户型差别较大,地理位置也较为分散,因此均价波动很大。每个楼盘具体情况还需具体分析。

附详情代码:

#北京路段_房屋均价分布图
detail_place = df.groupby(['detail_place'])
house_com = detail_place['price'].agg(['mean','count'])
house_com.reset_index(inplace=True)
detail_place_main = house_com.sort_values('count',ascending=False)[0:20]attr = detail_place_main['detail_place']
v1 = detail_place_main['count']
v2 = detail_place_main['mean']line = Line("北京主要路段房租均价")
line.add("路段",attr,v2,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,
mark_point=['min','max'],xaxis_interval=0,line_color='lightblue',    line_width=4,mark_point_textcolor='black',mark_point_color='lightblue',is_splitline_show=False)bar = Bar("北京主要路段房屋数量")
bar.add("路段",attr,v1,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,xaxis_interval=0,is_splitline_show=False)overlap = Overlap()
overlap.add(bar)
overlap.add(line,yaxis_index=1,is_add_yaxis=True)
overlap.render('北京路段_房屋均价分布图.html')复制代码


由上图可以看出,均价在8000-10000之间的房屋数量最多,同时1500-2000这个价位之间房屋数少的可怜。

据北京市统计局的数据,2017年全市居民月人均可支配收入为4769元。另据58同城和赶集网发布的报告,2017年北京人均月租金为2795元。

北京租房者的房租收入比,惊人地接近60%。很多人一半的收入,都花在了租房上,人生就这样被锁定在贫困线上。

统计数据也表明,北京租房人群收入整体偏低。47%的租房人,年薪在10万以下。在北京,能够负担得起每月5000元左右房租的群体,就算得上是中高收入人群。就这样,第一批90后扛过了离婚、秃头、出家和生育,终于还是倒在了房租面前。

附详情代码:

#房源价格区间分布图
price_info = df[['area', 'price']]#对价格分区
bins = [0,1000,1500,2000,2500,3000,4000,5000,6000,8000,10000]level = ['0-1000','1000-1500', '1500-2000', '2000-3000', '3000-4000', '4000-5000', '5000-6000', '6000-8000', '8000-1000','10000以上']price_stage = pd.cut(price_info['price'], bins = bins,labels = level).value_counts().sort_index()attr = price_stage.index
v1 = price_stage.valuesbar = Bar("价格区间&房源数量分布")
bar.add("",attr,v1,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,xaxis_interval=0,is_splitline_show=False)overlap = Overlap()
overlap.add(bar)
overlap.render('价格区间&房源数量分布.html')复制代码


面积&租金分布呈阶梯性

上图可以看出,80%的房源面积集中在0-90平方米之间,也符合租客单租与合租情况,大面积的房屋很少。

面积&租金分布呈阶梯性,比较符合常理。租房主力军就是上班族了,一般对房子面积要求较低,基本集中在30平。

附详情代码:

#房屋面积分布
bins =[0,30,60,90,120,150,200,300,400,700]
level = ['0-30', '30-60', '60-90', '90-120', '120-150', '150-200', '200-300','300-400','400+']
df['square_level'] = pd.cut(df['square'],bins = bins,labels = level)df_digit= df[['area', 'room_type', 'square', 'position', 'total_floor', 'floor', 'house_year', 'price', 'square_level']]
s = df_digit['square_level'].value_counts()
attr = s.index
v1 = s.values
pie = Pie("房屋面积分布",title_pos='center')pie.add("",attr,v1,radius=[40, 75],label_text_color=None,is_label_show=True,legend_orient="vertical",legend_pos="left",
)overlap = Overlap()
overlap.add(pie)
overlap.render('房屋面积分布.html')#房屋面积&价位分布
bins =[0,30,60,90,120,150,200,300,400,700]
level = ['0-30', '30-60', '60-90', '90-120', '120-150', '150-200', '200-300','300-400','400+']
df['square_level'] = pd.cut(df['square'],bins = bins,labels = level)
df_digit= df[['area', 'room_type', 'square', 'position', 'total_floor', 'floor', 'house_year', 'price', 'square_level']]
square = df_digit[['square_level','price']]
prices = square.groupby('square_level').mean().reset_index()
amount = square.groupby('square_level').count().reset_index()
attr = prices['square_level']
v1 = prices['price']
pie = Bar("房屋面积&价位分布布")
pie.add("", attr, v1, is_label_show=True)
pie.render()
bar = Bar("房屋面积&价位分布")
bar.add("",attr,v1,is_stack=True,xaxis_rotate=30,yaxix_min=4.2,xaxis_interval=0,is_splitline_show=False)overlap = Overlap()
overlap.add(bar)
overlap.render('房屋面积&价位分布.html')复制代码

大多数房屋年龄在10年以上

由上图看出,房屋年龄大多集中在10-20年、25年以上,而5年以下的不到2%;不过,别看这些都是老房子,最近房租变得这么猖狂?原因其中之一就是资本圈地。

这条网贴立马点燃了大众的情绪:“好啊,原来是这些长租平台烧钱圈地,一心只想要垄断市场房源,哄抬租金,企图赚取暴利差价!”

四、后记

拿自如举例,表面上看跟中介公司没啥两样,收了各种散盘,然后集中装修、出租、管理,因为运营成本和住房质量提高,房租肯定有所上涨。

但更关键的事情在背后。自如把项目打包起来搞起了资产证券化,以租金收益权为基础资产做担保,投放到金融市场上发行国内首单租房市场消费分期类ABS,让各路资金来认购,每年给大家搞点分红。

大量资本都在赌租房这个风口,而前期谁的规模越大、资源越多,以后的定价权就越大,利润空间就越不可想象。

这次恋习Python一共从链家网上爬取14038条数据,而那就是大概一周前,8月17日北京住建委约谈了几家中介公司。最终的结果是自如、相寓和蛋壳承诺将拿出12万间房子投入市场其中,自如将拿出8万间(链家、自如、贝壳找房,他们的实际控制人是同一个人--链家老板左晖。

也就是说,平常的时候,链家网+自如一共在网上待租的也就是1万多套房子,但是一被约谈他们就一口气拿出了8万套房子增援??怎么增?继续收房,让房源更加供不应求?

昨天买不起房,今天租不起房,如果连这样的生活也要因为市场的不规范而被逼迫、被夺走,真的会让人对一个城市失去希望。

作者:丁彦军

来源:恋习Python(ID:sldata2017)

关注公众账号

飞马会

飞马会
AI人工智能/大数据/技术管理等人员学习交流园地

往期福利
关注飞马会公众号,回复对应关键词打包下载学习资料;回复“入群”,加入飞马网AI、大数据、项目经理学习群,和优秀的人一起成长!

回复 数字“1”下载从入门到研究,人工智能领域最值得一读的10本资料(附下载)

回复 数字“2”机器学习 & 数据科学必读的经典书籍,内附资料包!

回复 数字“3”走进AI & ML:从基本的统计学到机器学习书单(附PDF下载)

回复 数字“4”了解人工智能,30份书单不容错过(附电子版PDF下载)

回复 数字“5”大数据学习资料下载,新手攻略,数据分析工具、软件使用教程

回复 数字“6”AI人工智能:54份行业重磅报告汇总(附下载)

回复 数字“7”TensorFlow介绍、安装教程、图像识别应用(附安装包/指南)

回复 数字“8”大数据资料全解析(352个案例+大数据交易白皮书+国内外政策汇篇)

回复 数字“9”干货 | 荐读10本大数据书籍(初级/中级/高级)成为大数据专家!

回复 数字“10”麦肯锡160页报告:2030年全球将可能8亿人要被机器抢饭碗

回复 数字“11”50本书籍大礼包:AI人工智能/大数据/Database/Linear Algebra/Python/机器学习/Hadoop

回复 数字“12”小白| Python+Matlab+机器学习+深度神经网络+理论+实践+视频+课件+源码,附下载!

回复 数字“13”大数据技术教程+书籍+Hadoop视频+大数据研报+科普类书籍

回复 数字“14”小白| 机器学习和深度学习必读书籍+机器学习实战视频/PPT+大数据分析书籍推荐!

回复 数字“15”大数据hadoop技术电子书+技术理论+实战+源代码分析+专家分享PPT

回复 数字“16”100G Python从入门到精通!自学必备全套视频教程+python经典书籍!

回复 数字“17”【干货】31篇关于深度学习必读论文汇总(附论文下载地址)

回复 数字“18”526份行业报告+白皮书:AI人工智能、机器人、智能出行、智能家居、物联网、VR/AR、 区块链等(附下载)

回复 数字“19”800G人工智能学习资料:AI电子书+Python语言入门+教程+机器学习等限时免费领取!

回复 数字“20”17张思维导图,一网打尽机器学习统计基础(附下载)

回复 数字“21”收藏 |7本 Matlab入门经典教程书籍,不可错过!

回复 数字“22”吴恩达新书,教你构建机器学习项目:《Machine Learning Yearning》

回复 数字“23”机器学习:怎样才能做到从入门到不放弃?(内含福利)

回复 数字“24”限时下载 | 132G编程资料:Python、JAVA、C,C++、机器人编程、PLC,入门到精通~

回复 数字“25”限资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段!

回复 数字“26”人工智能入门书单推荐,学习AI的请收藏好(附PDF下载)

回复 数字“27”资源 | 吴恩达斯坦福CS230深度学习课程全套资料放出(附下载)

回复 数字“28”懂这个技术的程序员被BAT疯抢...(内含资料包)

回复 数字“29”干货 | 28本大数据/数据分析/数据挖掘电子书合集免费下载!

回复 数字“30”领取 | 100+人工智能学习、深度学习、机器学习、大数据、算法等资料,果断收藏!

回复 数字“31”2G谷歌机器学习25讲速成课全集(中文版),限时下载

回复 数字“32”Matlab安装包+教程视频,让你从入门到精通!

回复 数字“33”程序员去阿里面试,没想到过程如此壮烈 (内含资料包)

回复 人工智能下载《FMI人工智能与大数据峰会嘉宾演讲PPT》

回复 AI 江湖下载《十大AI江湖领域》

回复 ML实践下载《机器学习实践经验指导(英文版)》

回复 DL论文下载《深度学习100篇以上论文资料》

回复 算法 下载《数据挖掘十大经典算法》

回复 6.10 下载《6.10饿了么&飞马网项目管理实践PPT》

北京房租大涨?Python 6个维度,数万条数据帮你揭秘相关推荐

  1. Python 6个维度,数万条数据帮你揭秘房租大涨!

    最近休息了一段时间,现在开启更新模式! 8月初,有网友在"水木论坛"发帖控诉长租公寓加价抢房引起关注.据说,一名业主打算出租自己位于天通苑的三居室,预期租金7500元/月,结果被二 ...

  2. 北京房租大涨?6个维度,数万条数据帮你揭穿

    点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 转载自/恋习Python 参与文末话题,得异步新书 昨天还幻想海边别墅的年轻人,今天可能开始对房租绝望了. 8月初,有网友在 ...

  3. 北京房租大涨?6个维度,数万条数据帮你揭穿(附详情代码)

    作者|丁彦军 来源|恋习Python 昨天还幻想海边别墅的年轻人,今天可能开始对房租绝望了. 8月初,有网友在"水木论坛"发帖控诉长租公寓加价抢房引起关注.据说,一名业主打算出租自 ...

  4. 房租大涨?Python6个维度,数万条数据帮你揭穿

    作者 | 丁彦君 来源 | 恋习Python(ID:sldata2017) 昨天还幻想海边别墅的年轻人,今天可能开始对房租绝望了. 8月初,有网友在"水木论坛"发帖控诉长租公寓加价 ...

  5. 我们用Python分析了B站4万条数据评论,揭秘本山大叔《念诗之王》大热原因!...

    来源:恋习Python 本文约2000字,建议阅读10分钟. 我们通过Python大法通过获取B站:[春晚鬼畜]赵本山:我就是念诗之王!4万条数据评论,与大家一起看看其背后火起来的原因. 1990年本 ...

  6. 利用python脚本一键为MySQL插入万条数据

    运行环境:Windows 10 技术栈:python3,MySQL8.x 编写目的 MySQL是我们研究开发时最常用的关系型数据库.当需要向MySQL数据库中插入大量数据时,一次一条地插入显然不得劲. ...

  7. python读取大数据量xml_[C#]_[使用微软OpenXmlSDK (OpenXmlReader)读取xlsx表格] 读取大数据量100万条数据Excel文件解决方案...

    1.OpenXmlSDK是个很好的类库,可惜只能通过C#调用,C#的童鞋又福气了. 2.服务端程序由于没法安装office,所以这个对asp.net网站来说是最理想的库了.需要.net 4.0版本以上 ...

  8. (转)Python网络爬虫实战:世纪佳缘爬取近6万条数据

    又是一年双十一了,不知道从什么时候开始,双十一从"光棍节"变成了"双十一购物狂欢节",最后一个属于单身狗的节日也成功被攻陷,成为了情侣们送礼物秀恩爱的节日. 翻 ...

  9. 5 多数据save_[Python] 通过采集两万条数据,对无名之辈影评分析

    点击上方"Python技术之巅",马上关注 真爱,请置顶或星标 一.说明 本文主要讲述采集猫眼电影用户评论进行分析,相关爬虫采集程序可以爬取多个电影评论. 运行环境:Win10/P ...

最新文章

  1. 可执行文件组成及内存映射
  2. 基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ
  3. ARP挂马***--嗅探欺骗的最恐怖方式
  4. python核心编程-第六章-个人笔记(二)
  5. 数据结构:最小生成树
  6. 基于SSM框架和easyUI框架的简易人事管理系统(六)
  7. google黑客命令搜集
  8. 接口管理平台YApi坑死我了(超级详细实操教程) - 421篇
  9. Java并发编程:volatile关键字解析 by 海子
  10. 电磁循迹小车赛后总结
  11. 流量焦虑意外带来契机,“福禄控股们”赚钱容易做大难?
  12. 精选100个毕业答辩PPT模板
  13. TFBGA240+25封装尺寸图
  14. Centos配置CA(证书颁发机构)
  15. 机器学习推导合集02-SVM简明入门1-硬边界SVM的建模过程
  16. SpaceX将在菲律宾推出星链服务
  17. 计算机管理用户没有怎么办,win10管理没有本地用户和组怎么办
  18. GraalVM-云原生时代的JVM(Java)
  19. H5新特性:canvas学习2
  20. HTML学习3:常用标签之文本标签

热门文章

  1. 福禄克北京代理是哪一家?
  2. 成都待慕电商:抖音生活服务创作者信用分体系上线
  3. 知乎登录cookie验证
  4. 域名、IP地址和URL
  5. java-ajax与mysql五表联动2----商品管理
  6. Struts2 框架笔记主要对跳转路径,挎包跳转,拦截器进行应用,定义成员变量,收取客户端参数等详细说明
  7. 微擎支付提示下单用户不一致,授权快照移除
  8. 第三方支付平台支付接口及回调接口开发
  9. 小项目应该如何进行跨平台方案选型
  10. oracle ebs会话时间,ORACLE EBS 日历和并发管理设置