#html #r #dataframe
Вопрос:
В настоящее время я работаю над чтением HTML-файла этой веб-страницы в R и обработкой его для извлечения полезных данных, которые создают новый фрейм данных.
Визуальный осмотр текста веб-страницы показывает, что все строки, содержащие значения данных, начинаются с » < td>». Итак, вот мой код до сих пор:
thepage<-readLines('https://www.worldometers.info/world-population/population-by-country/')
dataline <- grep('<td>', thepage)
dataline
Это возвращает:
11
Что говорит мне о том, что все данные находятся в строке 11. Поэтому я сделал это:
data <- thepage[11]
datalines <- grep('<td>', data)
datalines
Это возвращает:
1
Что совсем не полезно, так как «данные» по-прежнему представляют собой одну массивную строку. Как мне разделить эти массивные строки на несколько строк? Мой предпочтительный фрейм данных будет выглядеть примерно так:
ТИА.
Ответ №1:
Как насчет следующего?
library(tidyverse)
library(rvest)
url <- 'https://www.worldometers.info/world-population/population-by-country/'
pg <- xml2::read_html(url) %>%
rvest::html_table() %>%
.[[1]]