Я нашел данные!Оказывается, что timeshighereducation.com использует javascript для вызова данных, поэтому использование обычной процедуры rvest не будет работать.
Я нашел ссылку ниже полезной, чтобы увидеть, как работать с веб-страницами, отображающими данные с использованием javascript: rvest и V8
Первым делом я увидел, какой узел возвращает нужный мне скрипт.Это оказалось номер 9 в списках.Затем я преобразовал его в HTML-текст.
t <- html_nodes(webpage, 'script') %>%
'['(9) %>%
html_text()
После дальнейшей проверки HTML-текста я обнаружил, что внутри скрипта есть файл JSON.И я действительно могу увидеть данные, если наберу URL в Chrome.
Так что, казалось, довольно легко получить данные с помощью многих доступных пакетов R, которые работают с JSON.Я выбрал jsonlite
.Это так просто, как только получается, всего 5 строк кода для получения данных.Я сейчас очень счастлив:)
library(jsonlite)
college_json <- fromJSON(paste0(
'https://www.timeshighereducation.com/sites/default/files/the_data_rankings/',
'united_states_rankings_2018_limit0_efdb24148bae97278bbfe6ecfd71cdd9.json'))
college_dat <- college_json$data