经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » R语言 » 查看文章
链家广州二手房的数据与分析——爬取数据
来源:cnblogs  作者:yukiwu  时间:2019/6/10 13:44:51  对本文有异议



之前在博客分享了利用 R 和 rvest 包爬虫的基础方法。现在就来实战一下:爬取链家网广州 40,000+ 套二手房的数据。
lianjia homepage

之前在 Web Scraping with R 说过的爬虫方法在这篇中就不在赘述了。这里就分享怎么样爬取网站中翻页的数据。


>> Web Scraping across Multiple Pages

首先观察翻页页面的 url 规律,比如广州链家二手房数据:

第一页:https://gz.lianjia.com/ershoufang/

第二页:https://gz.lianjia.com/ershoufang/pg2/

第三页:https://gz.lianjia.com/ershoufang/pg3/

......

由此可推断,url 为 "https://gz.lianjia.com/ershoufang/pg" + 页码

1) 假设我们需要爬去第 1 页到第 100 页的房屋总价。那么我们可以先尝试爬取第一页的数据,并封装成一个函数.

  1. getHouseInfo <- function(pageNum, urlWithoutPageNum) {
  2. url <- paste0(urlWithoutPageNum, pageNum)
  3. webpage <- read_html(url,encoding="UTF-8")
  4. total_price_data_html <- html_nodes(webpage,'.totalPrice span')
  5. total_price_data <- html_text(total_price_data_html)
  6. data.frame(totalprice = total_price_data)
  7. }

2) 然后利用上述的函数循环爬取第 1 页到第 100 页的数据,并将多页的数据合并成一个 data frame

  1. url <- "https://gz.lianjia.com/ershoufang/pg"
  2. houseInfo <- data.frame()
  3. for (ii in 1:1553){
  4. houseInfo <- rbind(houseInfo, getHouseInfo(ii, url))
  5. }


>> Sample Code

知道如何爬取翻页的数据后我们就可以尝试完整的爬取广州链家网上 4w+ 套二手房的详细信息(包括区域,小区,几室几厅,有无电梯等等)了。

download here

数据量比较大,爬取数据需要一些时间。爬取完毕如果要保存数据需要注意选择适合的编码,不然容易乱码。提供一个可在 Mac Excel 打开的 cvs 格式。

data

原文链接:http://www.cnblogs.com/yukiwu/p/10975337.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号