【R爬虫-2】上海市各小区挂牌均价

640?wx_fmt=gif

作者简介Introduction

傅兴:R语言中文社区专栏作者

个人公众号:Rapp


房价一直是中国老百姓最关心的话题之一。Rapp 也一直想分析房地产方面的数据。如果拿到全国的房价数据,不仅可以知道各个城市最贵的和最便宜的房子在哪里,哪些区域的房价更高,还可以研究房价和医疗、教育资源以及公共交通设施之间的关系,房价与政策之间的关系等等。


想要获取这样的数据并不难,只需要一点点编程知识。看完本文后就会觉得更加简单了,只需要安装Rapp开发的R程序包(lianjiaScraper),使用一个命令就可以轻松下载上海市各小区的挂牌均价。

下面我向大家介绍一下 lianjiaScraper 的开发过程以及使用方法:
1. 选择目标数据源,确定抓取的对象和范围。
经过一番比较,我选择了链家网
 (http://sh.lianjia.com/xiaoqu) 的“小区”信息作为抓取的对象:

640?wx_fmt=png


链家找到的27576个小区并不是列在一个页面中,所以我们还要弄清楚总共可以抓取多少页面,在小区列表的底部,我们看到一共有100个页面:

640?wx_fmt=png

我们还发现每个页面的URL具有以下格式:
http://sh.lianjia.com/xiaoqu/d
调用每个页面的时候只需要在 d 后面加上页面序号即可。


2. 查看页面的HTML代码,找到需要抓取和解析的标签。

640?wx_fmt=png


从页面的源代码中可以看到,页面中所有小区信息放在一个 <ul class="house-lst"></ul> 中,每个小区包含一个 <div class="pic-panel"></div> 和一个 <div class="info-panel">,我们感兴趣的信息在 <div class="info-panel"> 中的 <div class="where"></div> 和 <div class="price"></div> 中。


3. 用 rvest 写爬虫函数

640?wx_fmt=png


4. 将爬虫函数以R软件包的形式发布,源代码上传至 Github (https://github.com/bioxfu/lianjiaScraper)


5. 安装 lianjiaScraper 的方法见README

640?wx_fmt=png


6. 安装完毕,测试

640?wx_fmt=png


7. 抓取到的数据包含了小区名称、区域名称、板块名称、单价以及经纬度信息

640?wx_fmt=png


8. lianjiaScraper 现在仍处在开发阶段,目前只有一个 searchLianjia 函数,而且只能下载上海市的数据,我会不断完善相关功能:

640?wx_fmt=png


房价数据到手后如何分析和可视化?请听下回分解。



大家都在看

2017年R语言发展报告(国内)

精心整理 | R语言中文社区历史文章合集(作者篇)

精心整理 | R语言中文社区历史文章整理(类型篇)


640?wx_fmt=jpeg

公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战  
回复 
Python       1小时破冰入门

回复 数据挖掘     R语言入门及数据挖掘
回复 
人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值