Несколько ссылок веб-слом, используя "rvest".Аргументы ошибки подразумевают различное количество строк - PullRequest
0 голосов
/ 09 марта 2019

Я пытался удалить веб-rvest, и я иду следующую ошибку

код

library(xml2)


library(rvest)


library(purrr)


ulr_base <- "https://journals.sagepub.com/toc/jina/33/%d"


map_df(1:4,function(i){


 page <- read_html(sprintf(ulr_base,i))


  data.frame(IssueID =html_text(html_nodes(page,".journalNavTitle")),


         Heading = html_text(html_nodes(page,".hlFld-Title")),


         Author = html_text(html_nodes(page,".entryAuthor"))

  )


 }) -> SageJournals

Ошибка:

Ошибка в data.frame (IssueID = html_text (html_nodes (page, ".journalNavTitle")),: аргументы подразумевают различное количество строк: 1, 6, 65

Что мне теперь делать? примечание: я использую селекторный гаджет.

1 Ответ

0 голосов
/ 27 марта 2019

Проблема была в том, что вы все авторы экспортировались отдельно.Итак, у вас был 1 выпуск, 6 статей и 65 авторов.С этими узлами авторы экспортируются по статье:

ulr_base <- "https://journals.sagepub.com/toc/jina/33/%d"

map_df(1:4, function(i){
  page <- read_html(sprintf(ulr_base,i))
  data.frame(IssueID = html_text(html_nodes(page,".journalNavTitle")),
             Heading = html_text(html_nodes(page, ".heading-title")),
             Author = html_text(html_nodes(page, ".all"))
  )
}) -> SageJournals
...