如何使用R从Zillow中删除其他数据点

问题描述 投票:0回答:1

我从以前的同事那里继承了一个文件来使用R来拉取属性的Zillow“Zestimate”和“Rent Zestimate”数据,然后将这些数据点输出到CSV文件。但是,我对编码很陌生,并且没有成功地提取我知道可用的其他信息。我已经在网站上搜索了答案,但由于我仍然在努力学习如何编码,所以我没有成功地对当前代码进行自己的编辑。任何帮助我可以添加代码来提取任何这些额外的数据点将非常感激。

  • 物业详情(平方英尺,年建,床,浴室,物业类型)
  • Zestimate范围(高和低)
  • 租Zestimate范围(高和低)
  • 最后售出日期和价格
  • 价格历史(最新活动,日期和价格)(不确定是否可以报废)
  • 税务历史(最近一年和财产税)(不确定这可以报废)

当前代码:

houseAddsSplit = read.csv(houseAddsFileLocation)  zillowAdds = paste(houseAddsSplit$STREET, houseAddsSplit$CITY, houseAddsSplit$STATE, houseAddsSplit$ZIP, sep = " ")  
library(ZillowR)  
library(XML)
set_zillow_web_service_id(zwsId)  
zpidList = NULL  
zestimate = NULL  
rentZestimate = NULL  
for(i in 1:length(zillowAdds)){  
  print(paste("Processing house: ", i, ", address: ", zillowAdds[i]))  
  print(zillowAdds[i])  
  houseZpidClean = "ERR"  
  houseZestClean = "ERR"  
  houseRentZestClean = "ERR"  
  houseInfo = try(GetSearchResults(address = zillowAdds[i], citystatezip = as.character(houseAddsSplit$ZIP[i]), rentzestimate = TRUE))  
 '#'while(houseInfo$message$code != "0"){  
 '#'  houseInfo = try(GetSearchResults(address = cipAdds[i], citystatezip = as.character(cipLoans$ZIP[i]), rentzestimate = TRUE))  
 '#'  Sys.sleep(runif(1, 3, 5))  
 '#'}  
if(houseInfo$message$code == "0"){  
    houseZpid = try(xmlElementsByTagName(houseInfo$response, "zpid", recursive = TRUE))  
    houseZest = try(xmlElementsByTagName(houseInfo$response, "amount", recursive = TRUE))  
    houseZpidAlmostClean = try(toString.XMLNode(houseZpid$results.result.zpid))  
    houseZestAC = try(toString.XMLNode(houseZest$results.result.zestimate.amount))  
    houseRentZestAC = try(toString.XMLNode(houseZest$results.result.rentzestimate.amount))  
    houseZpidClean = try(substr(houseZpidAlmostClean, 7, nchar(houseZpidAlmostClean) - 7))  
    houseZestClean = try(substr(houseZestAC, 24, nchar(houseZestAC) - 9))  
    houseRentZestClean = try(substr(houseRentZestAC, 24, nchar(houseRentZestAC) - 9))  
}

  closeAllConnections()

  zpidList[i] = houseZpidClean  
  print(paste("zpid: ", houseZpidClean))  
  zestimate[i] = houseZestClean  
  print(paste("zestimate: ", houseZestClean))  
  rentZestimate[i] = houseRentZestClean  
  print(paste("rent zestimate: ", houseRentZestClean))  
  Sys.sleep(runif(1, 7, 10))  
}  
outputData = cbind(houseAddsSplit, zestimate, rentZestimate)  
write.csv(outputData, paste(writeToFolder, "/zillowPullOutput.csv", sep = ""))  
print(paste("All done. File written to", paste(writeToFolder, "/zillowPullOutput.csv", sep = "")))
r zillow
1个回答
0
投票

希望您解决了这个问题,但GetSearchResult API不会返回您要查找的所有结果。您可能必须调用GetUpdatedPropertyDetails API才能获得所有结果。

© www.soinside.com 2019 - 2024. All rights reserved.