• 链家广州二手房的数据与分析——爬取数据



    之前在博客分享了利用 R 和 rvest 包爬虫的基础方法。现在就来实战一下:爬取链家网广州 40,000+ 套二手房的数据。 ![lianjia homepage](https://img2018.cnblogs.com/blog/1705277/201906/1705277-20190605133024627-717267069.png)

    之前在 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 页的房屋总价。那么我们可以先尝试爬取第一页的数据,并封装成一个函数.
    getHouseInfo <- function(pageNum, urlWithoutPageNum) {
      url <- paste0(urlWithoutPageNum, pageNum)
      webpage <- read_html(url,encoding="UTF-8")
      total_price_data_html <- html_nodes(webpage,'.totalPrice span')
      total_price_data <- html_text(total_price_data_html)
      data.frame(totalprice = total_price_data)
    }
    
    1. 然后利用上述的函数循环爬取第 1 页到第 100 页的数据,并将多页的数据合并成一个 data frame
    url <- "https://gz.lianjia.com/ershoufang/pg"
    houseInfo <- data.frame()
    for (ii in 1:1553){
      houseInfo <- rbind(houseInfo, getHouseInfo(ii, url))
    }
    

    #### >> Sample Code

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

    download here

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

    data

    >> 后续分析


    1. [链家广州二手房的数据与分析——数据分析1](https://www.cnblogs.com/yukiwu/p/11271515.html) 2. [链家广州二手房的数据与分析——数据分析2](https://www.cnblogs.com/yukiwu/p/11333349.html)
    作者:Yuki
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处(附上博客链接)。 如果您觉得本篇博文对您有所收获,请点击右下角的 [推荐],谢谢!

    关注我的公众号,不定期更新学习心得
  • 相关阅读:
    android数据恢复
    UVA 690 Pipeline Scheduling
    2017 国庆湖南 Day4
    2017 国庆湖南 Day5
    2017 国庆湖南 Day6
    2017国庆 清北学堂 北京综合强化班 Day1
    2017 国庆湖南Day2
    bzoj 2962 序列操作
    UVA 818 Cutting Chains
    UVA 211 The Domino Effect
  • 原文地址:https://www.cnblogs.com/yukiwu/p/10975337.html
Copyright © 2020-2023  润新知