Хорошо, поэтому я пытаюсь почистить несколько страниц веб-сайта для получения информации о продукте, проблема в том, что в зависимости от продукта это может быть один или несколько дополнительных продуктов (например, женская обувь против мужской обуви). Мой код сейчас просто выбирает первую таблицу, мои попытки подсчитать количество таблиц и затем очистить их потерпели неудачу. Есть идеи?
Пример проблем, вызывающих URL: https://www.ncmedical.com/item_28.html
Текущий код, извлекающий первую таблицу
library(XML)
library(rvest)
base_url <- "https://www.ncmedical.com/item_"
productnumbers <- NULL
productnumbers <- seq(1,3729,by = 1)
getlink <- function(x){
return(paste(base_url,x,".html",sep = ""))
}
result <- mapply(getlink, productnumbers)
Links = plyr::ldply(result, rbind)
names(Links) <- c("Link")
Links$Link <- as.character(Links$Link)
result <- NULL
getproductdata <- function(x) {
webpage <- read_html(x)
tbls <- html_nodes(webpage, "table")
tbls_ls <- webpage %>%
html_nodes("table") %>%
.[2] %>%
html_table(fill = TRUE)
data <- as.data.frame(tbls_ls)
return(data)
}
result <- lapply(Links$Link[1:100],getproductdata)
PriceData = plyr::ldply(result, rbind)