我正在尝试创建一个电影抓取脚本,但在运行了下面的最后一行代码后,我遇到了一个
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not match
我不知道为什么。
rottenrate <- function(movie){
require(RJSONIO)
link <- paste("http://www.omdbapi.com/?t=", movie, "&y=&plot=short&r=json&tomatoes=true", sep = "")
jsonData <- fromJSON(link)
return(jsonData)
}
vrottenrate <- Vectorize(rottenrate, "movie", SIMPLIFY = F)
val <- "http://www.fandango.com/valkilmer/filmography/p38142"
val_movies <- readHTMLTable(val)
val_movies <- as.data.frame(val_movies)
val_movie_titles <- subset(val_movies, select = c(NULL.Title))
val_movie_titles <- as.character(val_movie_titles$NULL.Title)
val_completed <- do.call(rbind, lapply(vrottenrate(val_movie_titles), function(x) as.data.frame(t(x), stringsAsFactors = FALSE)))
答案 0 :(得分:3)
一个简单的解决方案是使用bind_rows
包中的dplyr
或rbindlist
包中的data.table
:
kk<-lapply(vrottenrate(val_movie_titles), function(x) as.data.frame(t(x), stringsAsFactors = FALSE))
library(dplyr)
bind_rows(kk)
library(data.table)
rbindlist(kk,fill=TRUE)