创建电影抓取脚本

时间:2015-07-07 00:11:46

标签: r web-scraping movies

我正在尝试创建一个电影抓取脚本,但在运行了下面的最后一行代码后,我遇到了一个

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)))

1 个答案:

答案 0 :(得分:3)

一个简单的解决方案是使用bind_rows包中的dplyrrbindlist包中的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)