鏈家廣州二手房的數據與分析——爬取數據

<br/> 以前在博客分享了利用 R 和 rvest 包爬蟲的基礎方法。如今就來實戰一下:爬取鏈家網廣州 40,000+ 套二手房的數據。 ![lianjia homepage](https://img2018.cnblogs.com/blog/1705277/201906/1705277-20190605133024627-717267069.png)html

以前在 Web Scraping with R 說過的爬蟲方法在這篇中就不在贅述了。這裏就分享怎麼樣爬取網站中翻頁的數據。node

<br/> #### >> Web Scraping across Multiple Pages <hr/>git

首先觀察翻頁頁面的 url 規律,好比廣州鏈家二手房數據:github

第一頁:https://gz.lianjia.com/ershoufang/web

第二頁:https://gz.lianjia.com/ershoufang/pg2/api

第三頁: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))
}

<br/> #### >> Sample Code <hr/>url

知道如何爬取翻頁的數據後咱們就能夠嘗試完整的爬取廣州鏈家網上 4w+ 套二手房的詳細信息(包括區域,小區,幾室幾廳,有無電梯等等)了。

download here

數據量比較大,爬取數據須要一些時間。爬取完畢若是要保存數據須要注意選擇適合的編碼,否則容易亂碼。提供一個可在 Mac Excel 打開的 cvs 格式。

data <br/>

>> 後續分析

<hr/> 1. [鏈家廣州二手房的數據與分析——數據分析1](https://www.cnblogs.com/yukiwu/p/11271515.html) 2. [鏈家廣州二手房的數據與分析——數據分析2](https://www.cnblogs.com/yukiwu/p/11333349.html) <br/>

原文出處:https://www.cnblogs.com/yukiwu/p/10975337.html

相關文章
相關標籤/搜索