微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 for 循环抓取 Zillow

如何解决使用 for 循环抓取 Zillow

我正在抓取 Zillow 并希望抓取所有页面。我正在使用 for 循环,如下所示。但似乎我只收到第一页结果。

for (page_result in 1:20) {
  zillow_url = paste0("https://www.zillow.com/orlando-fl/",page_result,"_p/?searchQueryState=%7B%22
pagination%22%3A%7B%22currentPage%22%3A","%7D%2C%22useRSSearchTerm%22%3A%22
Orlando%2C%20Fl%22%2C%22mapBounds%22%3A%7B%22west%22%3A-81.6603646328125%2C%22east%22%3A-80.8144173671875%2C%22
south%22%3A28.191492307595613%2C%22north%22%3A28.794962421299882%7D%2C%22
regionSelection%22%3A%5B%7B%22regionId%22%3A13121%2C%22
regionType%22%3A6%7D%5D%2C%22isMapVisible%22%3Atrue%2C%22filterState%22%3A%7B%22sort%22%3A%7B%22value%22%3A%22globalrelevanceex
%22%7D%2C%22ah%22%3A%7B%22value%22%3Atrue%7D%7D%2C%22isListVisible%22%3Atrue%7D")
}

zpg = read_html(zillow_url)

res_all <-NULL
zillow_pg <-tibble(
  addr = zpg %>% html_nodes(".list-card-addr") %>% html_text(),price = zpg %>% html_nodes(".list-card-price") %>% html_text(),details = zpg %>% html_nodes(".list-card-details") %>% html_text(),heading= zpg %>% html_nodes(".list-card-info a") %>% html_text(),type = zpg %>% html_nodes(".list-card-statusText") %>% html_text())


res_all <- res_all %>% bind_rows(zillow_pg)

解决方法

您可能对 ZillowR 包感兴趣

https://www.rdocumentation.org/packages/ZillowR/versions/0.1.0

Zillow 是一家在线房地产公司,通过 REST API 为美国提供房地产和抵押贷款数据。 ZillowR 包为每个 API 服务提供了一个 R 函数,可以轻松进行 API 调用并将响应处理为方便、R 友好的数据结构。有关 Zillow API 文档,请参阅 http://www.zillow.com/howto/api/APIOverview.htm

您的代码已经完成了 90%。我无法测试,但我认为这些修改会让您朝着正确的方向前进:

res_all <-NULL

for (page_result in 1:20) {
  zillow_url = paste0("https://www.zillow.com/orlando-fl/",page_result,"_p/?searchQueryState=%7B%22
pagination%22%3A%7B%22currentPage%22%3A","%7D%2C%22usersSearchTerm%22%3A%22
Orlando%2C%20Fl%22%2C%22mapBounds%22%3A%7B%22west%22%3A-81.6603646328125%2C%22east%22%3A-80.8144173671875%2C%22
south%22%3A28.191492307595613%2C%22north%22%3A28.794962421299882%7D%2C%22
regionSelection%22%3A%5B%7B%22regionId%22%3A13121%2C%22
regionType%22%3A6%7D%5D%2C%22isMapVisible%22%3Atrue%2C%22filterState%22%3A%7B%22sort%22%3A%7B%22value%22%3A%22globalrelevanceex
%22%7D%2C%22ah%22%3A%7B%22value%22%3Atrue%7D%7D%2C%22isListVisible%22%3Atrue%7D")

zpg = read_html(zillow_url)

zillow_pg <-tibble(
  addr = zpg %>% html_nodes(".list-card-addr") %>% html_text(),price = zpg %>% html_nodes(".list-card-price") %>% html_text(),details = zpg %>% html_nodes(".list-card-details") %>% html_text(),heading= zpg %>% html_nodes(".list-card-info a") %>% html_text(),type = zpg %>% html_nodes(".list-card-statusText") %>% html_text())


res_all <- bind_rows(res_all,zillow_pg)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。