I would like to ask why this for loop is not working and how to fix it to web scrape this page:
library(rvest)
library(dplyr)
my_list <- list()
for (i in 2:20) {
link <- paste0("https://www.immobilienscout24.at/regional/wien/wien/immobilie-kaufen/seite-", i)
page <- read_html(link)
price <- page %>%
html_elements(".tSnnN") %>%
html_text()
rooms <- page %>%
html_elements(".ufaLY:nth-child(1)") %>%
html_text()
m2 <- page %>%
html_elements(".ufaLY:nth-child(2)") %>%
html_text()
location <- page %>%
html_elements(".YqNih") %>%
html_text()
my_list[[i]] <- list(price, rooms, m2, location)
flat <- do.call(rbind.data.frame, my_list)
colnames(flat) <- c("price", "rooms", "m2", "location")
print(paste("Page:", i))
}
getting error:
Error in (function (..., deparse.level = 1, make.row.names = TRUE, stringsAsFactors = default.stringsAsFactors(), : invalid list argument: all variables should have the same length