错误提示如下:
Error in brand[-c(1:(length(brand) - 60))] : only 0's may be mixed with negative subscripts
不知道哪里出问题,本人是初学者,还望哪位高手指点,谢谢!
源代码如下:
require(stringr)
require(rvest)
require(rjson)
myfun = function(x){
url = str_c("http://list.jd.com/list.html?cat=9987,653,655=",x,"&JL=6_0_0")
brand = url %>% html_session() %>% html_nodes(".right-extra .p-name a") %>% html_text()
b = brand[-c(1:(length(brand) - 60))] %>% strsplit(" ")
b1 = sapply(1:60,function(i) paste(b[][1],collapse = ''))
b2 = sapply(1:60,function(i) paste(b[][2],collapse = ''))
b3 = sapply(1:60,function(i) paste(b[][-c(1:2)],collapse = ''))
evalue = url %>% html_session() %>% html_nodes(".evaluate a") %>% html_text() %>% str_extract("http://p.3.cn/prices/mgets?skuIds=",price1)
dat = u %>% html() %>% html_nodes("p") %>% html_text()
p = fromJSON(dat)
price =sapply(1:60,function(i) p[]$p)
data.frame(品牌 = b1,型号 = b2,性能描述 = b3,评价 = evalue,价格 = price)
}
dat = lapply(1:4,myfun)
total = do.call(rbind,dat)