链家租房市场分析(R爬虫、数据可视化)

本文使用R语言爬取上海链家租房数据,分析各地区租房数量、价格、面积、户型等,发现浦东、闵行、松江等郊区供应量大,房源大多朝南,1-3居室性价比高,平均租金约4030元/人。
摘要由CSDN通过智能技术生成

链家租房市场数据分析

前言

近年来,持续高昂的房价将很多想要安身立命的人挡在了买房的门槛之外。在外漂泊的人们,只能暂时转向租赁市场寻求居住场所。购房行为代替给租房市场带来了巨大的规模和效益。
本文使用爬虫爬取上海链家网上租房的信息,然后进行一些探索和分析,了解租房市场行情。(项目使用R 3.5.1软件,调用的R包有Rvest、RMySQL、dplyr、ggplot2、caret)

待解决的问题

1.各地区的租房数量是如何分布的?

2.不同地区的租房价格?不同地区的租房面积大小?

4.房子的户型、朝向、楼层统计情况是怎样的?

5.哪一种户型的房子需求最多?对于合租人群来说,哪些户型的性价比比较高?

6.如果要使用租房信息对房源进行分类,可以大致分为哪几类?

7.影响租房价格的因素可能有哪些?哪个因素对价格影响最大?

链家网数据爬取

打开一个上海链家租房的网页:
在这里插入图片描述

可以发现:

  1. 网页URL格式为"https://sh.lianjia.com/zufang/"+所在地区+"/pg"+页码数,利用这个规律可进行多页数据爬取;
  2. 可获取有效信息:房源标题、价格、面积、所在地区、户型。

使用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
  • 6
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 安居客出租房(武汉为例)爬虫+数据分析+可视化 这个爬虫是我前段时间在淘宝上做单子的时候遇见的一个客户需求。本来以为就是一个简单的爬虫项目。但后面客户加了数据清洗和数据分析的要求。而后又加了要详细代码解释的需求等等。直到最后客户坦白说这是他们大专的毕设.......但是这个单子坐下来只有200左右,我想了一下,感觉好亏啊。在淘宝上随便找一个做毕设的都要好多钱的,而且客户本身的代码能力、数学、逻辑能力都很差,导致我每行都给注释以及看不懂,在我交付代码后又纠缠了我一个多礼拜。反正总体做下来的感觉就是烦躁。头一次感觉到了客户需求变更带来的巨大麻烦。 总之这是一次不是很愉快的爬虫经历。但是作为我写爬虫以来注释最详细的一次,以及第一次真正使用像matplotlib这种数据分析库的代码,我认为还是有必要分享出来给大家当个参考的(PS:大佬轻拍~)。爬虫本身几乎没有什么难度,写的也比较乱,敬请见谅。 **功能** 爬取安居客上的出租房信息(武汉地区的),并通过爬取的数据进行数据清洗以及数据分析。给出四个不同层面的可视化图。最终结果如下图所示: ![Image text](https://raw.githubusercontent.com/srx-2000/git_spider/master/anjuke_room_rent_info/result/1.png) ![Image text](https://raw.githubusercontent.com/srx-2000/git_spider/master/anjuke_room_rent_info/result/2.png) ![Image text](https://raw.githubusercontent.com/srx-2000/git_spider/master/anjuke_room_rent_info/result/3.png) ![Image text](https://raw.githubusercontent.com/srx-2000/git_spider/master/anjuke_room_rent_info/result/4.png) **环境** 1. Windows 10 2. python3.7 **使用方法** 首先声明该爬虫由于是特定情况下写的,所以本身的通用性特别差,仅可以对安居客网站上的武汉的出租房信息进行爬取,且需要自己手动更新cookie。同时在对数据进行分析及可视化的时候由于也是特别针对武汉出租房进行的,所以针对性也比较强。如果别的需求需要自己进行更改。 1. 访问[安居客网址](https://wuhan.anjuke.com/),获取cookie。 > tip:获取cookie的方法可根据[此链接](https://jingyan.baidu.com/article/5d368d1ea6c6e33f60c057ef.html) 2. 在项目中找到`spider.py`的文件,将第12行的cookie换成你自己的cookie。 3. 运行`spider.py`,获取房源信息。运行后应会产生一个`武汉出租房源情况.csv`的文件。此文件为我们从安居客上爬取的房源信息,其中包含`房屋租住链接、房屋描述、房屋地址、房屋详情(户型)以及经纪人、房屋价格`五个属性。 4. 在获取了数据之后我们运行`matplotlib.py`文件。进行数据清洗,分析,可视化。运行后即可获得**功能**中展示四个图片。 **技术栈** 1. request 2. parsel 3. pandas 4. matplotlib **进步(相比之前)** 此次爬虫相比之前的技术上可以说有减无增。但其中注释相当详细,可谓是每行代码都有注释。所以对于初学者应该有一些用处。同时使用matplotlib进行了数据分析可视化等。对于数据处理的代码的注释也是几乎每行都有注释的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值