好,所以我试图刮擦网站上的几页以获得产品信息,问题在于,根据产品的不同,它可能是一个或多个子产品(想想女鞋和男鞋)。现在,我的代码只是选择第一个表,我尝试计算表的数量然后将其抓取失败。有什么想法吗?
导致问题的网址示例: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)