链家租房市场数据分析
前言
近年来,持续高昂的房价将很多想要安身立命的人挡在了买房的门槛之外。在外漂泊的人们,只能暂时转向租赁市场寻求居住场所。购房行为代替给租房市场带来了巨大的规模和效益。
本文使用爬虫爬取上海链家网上租房的信息,然后进行一些探索和分析,了解租房市场行情。(项目使用R 3.5.1软件,调用的R包有Rvest、RMySQL、dplyr、ggplot2、caret)
待解决的问题
1.各地区的租房数量是如何分布的?
2.不同地区的租房价格?不同地区的租房面积大小?
4.房子的户型、朝向、楼层统计情况是怎样的?
5.哪一种户型的房子需求最多?对于合租人群来说,哪些户型的性价比比较高?
6.如果要使用租房信息对房源进行分类,可以大致分为哪几类?
7.影响租房价格的因素可能有哪些?哪个因素对价格影响最大?
链家网数据爬取
打开一个上海链家租房的网页:
可以发现:
- 网页URL格式为"https://sh.lianjia.com/zufang/"+所在地区+"/pg"+页码数,利用这个规律可进行多页数据爬取;
- 可获取有效信息:房源标题、价格、面积、所在地区、户型。
使用Rvest包分别爬取不同地区的数据,最终得到20796条租房信息,这里用RMySQL包保存到数据库中(也可以不使用数据库,直接保存在数据框中,使用rbind函数往数据框中添加新的数据)。
执行代码如下:
#加载包
library('rvest')
library('RMySQL')
#连接数据库
conn <- dbConnect(MySQL(),dbname="rtest",username="root",password="123456",host="localhost",port=3306)
dbSendQuery(conn,"SET NAMES GBK")
addrs <- c("jingan",'xuhui',"huangpu","changning","putuo","pudong","baoshan","zhabei","hongkou","yangpu","minhang","jinshan","jiading","chongming","fengxian","songjiang","qingpu")#各个地区
#爬虫爬取
for(k in 1:17){
for(i in 1:100){
url <- paste("https://sh.lianjia.com/zufang/",addrs[k],"/pg",as.character(i),sep = '')
html <- read_html(url)
nodes <- html_nodes(html,"div.content__li