从 R 中的网页抓取链接
Webscraping of links from a web page in R
我还想获得属性的链接 - 但出于某种原因,我没有从每个页面获得所有链接,此代码有效但仅适用于 第一页 .关于 link
提取,我缺少什么?
# To get $rooms, $m2, $price, $link
library(rvest)
library(dplyr)
flat_I = data.frame()
for (i in 7:100) {
link <- paste0("https://www.immobilienscout24.at/regional/wien/wien/immobilie-kaufen/seite-", i)
page <- read_html(link)
#parse out the parent nodes
results <- page %>% html_elements(".DHILY")
#retrieve the rooms, m2 and price from each parent
rooms <- results %>% html_element(".ufaLY:nth-child(1)") %>%
html_text()
m2 <- results %>% html_element(".ufaLY:nth-child(2)") %>%
html_text()
price <- results %>% html_element(".tSnnN") %>%
html_text()
link <- page %>%
html_nodes("a._aOSG") %>%
html_attr("href") %>%
paste0("https://www.immobilienscout24.at", ., sep="")
flat_I = rbind(flat_I, data.frame(rooms, m2, price, link, stringsAsFactors = FALSE))
print(paste("Page:", i))
}
链接位于两个 类 s5PQF
和 YXjuW
中,我们可以单独从它们中提取链接,或者从页面中获取所有链接并过滤它们以仅保留所需的链接。
此外,您在循环中定义了两次 link
,避免此类重复。
library(stringr)
page %>% html_nodes('a') %>%
html_attr('href') %>% unique() %>%
str_subset('expose')
我还想获得属性的链接 - 但出于某种原因,我没有从每个页面获得所有链接,此代码有效但仅适用于 第一页 .关于 link
提取,我缺少什么?
# To get $rooms, $m2, $price, $link
library(rvest)
library(dplyr)
flat_I = data.frame()
for (i in 7:100) {
link <- paste0("https://www.immobilienscout24.at/regional/wien/wien/immobilie-kaufen/seite-", i)
page <- read_html(link)
#parse out the parent nodes
results <- page %>% html_elements(".DHILY")
#retrieve the rooms, m2 and price from each parent
rooms <- results %>% html_element(".ufaLY:nth-child(1)") %>%
html_text()
m2 <- results %>% html_element(".ufaLY:nth-child(2)") %>%
html_text()
price <- results %>% html_element(".tSnnN") %>%
html_text()
link <- page %>%
html_nodes("a._aOSG") %>%
html_attr("href") %>%
paste0("https://www.immobilienscout24.at", ., sep="")
flat_I = rbind(flat_I, data.frame(rooms, m2, price, link, stringsAsFactors = FALSE))
print(paste("Page:", i))
}
链接位于两个 类 s5PQF
和 YXjuW
中,我们可以单独从它们中提取链接,或者从页面中获取所有链接并过滤它们以仅保留所需的链接。
此外,您在循环中定义了两次 link
,避免此类重复。
library(stringr)
page %>% html_nodes('a') %>%
html_attr('href') %>% unique() %>%
str_subset('expose')