Как сохранить очищенные данные во фрейме данных в цикле очистки в R? - PullRequest
0 голосов
/ 10 апреля 2019

Я новичок в очистке веб-страниц, поэтому в настоящее время у меня возникают проблемы с хранением данных, которые я скопировал во фрейм данных.

Я думаю, что мне нужно сначала создать пустой список, а затем сохранить все списки во фрейме данных, но я не уверен, как это сделать в цикле, а также сохранить те, у которых нет данных, как NA.

Вот мой код для очистки данных и хранения их в разных списках:

library(rvest)
library(dplyr)

title = c()
genre = c()
runtime = c()
imdb_rating = c()
votes_gross = c()

for (i in seq(2015, 2018, 1)) {
  link <- paste0("https://www.imdb.com/search/title?year=",i,"&title_type=feature&sort=boxoffice_gross_us,desc")
  top_movies <- read_html(link)

title_t <- top_movies %>% html_nodes(".lister-item-header") %>% html_text()
genre_t <- top_movies %>% html_nodes(".genre") %>% html_text()
runtime_t <- top_movies %>% html_nodes(".runtime") %>% html_text()
imdb_rating_t <- top_movies %>% html_nodes(".ratings-imdb-rating") %>% html_text()
votes_gross_t <- top_movies %>% html_nodes(".sort-num_votes-visible") %>% html_text()

title <- c(title, title_t)
genre <- c(genre, genre_t)
runtime <- c(runtime, runtime_t)
imdb_rating <- c(imdb_rating, imdb_rating_t)
votes_gross <- c(votes_gross, votes_gross_t)
}

Этот метод генерирует противоречивый результат, так как некоторые фильмы не имеют данных рейтинга или голосов. Поэтому я не уверен, как сделать их как NA и сохранить все данные во фрейме данных.

...