Итак, у меня есть список / df URL-адресов новостных статей, которые я вычеркнул из «архивов новостей» местного органа власти - всего около 5000. Я написал следующие функции, используя rvest, чтобы очистить заголовок, текст и дату публикации статей, которые я включу ниже:
get_title <- function(url){
html <- read_html(url)
html %>%
rvest::html_nodes('body') %>%
xml2::xml_find_first("//div[contains(@class, 'page-header col-xs-12')]") %>%
rvest::html_text()
}
get_text <- function(html){
html %>%
rvest::html_nodes('body') %>%
xml2::xml_find_all("//div[contains(@class, 'col-xs-12 text-content')]") %>%
rvest::html_text()
}
get_date <- function(text){
substr(text, 14, 21)
}
Я протестировал функции, и они отлично работают для отдельных URL-адресов, пример которого приведен здесь:
url <- "https://www.rm.dk/om-os/aktuelt/nyheder/nyheder-2020/marts-20/aflysninger-pa-hospitalerne--tjek-din-e-boks-eller-postkasse/"
Я чувствую себя идиотом, но я пытался всеми возможными способами запустить функции над своим списком URL-адресов, чтобы затем создать отдельные списки заголовка, текста и даты каждой статьи, которые затем могут быть объединены в Tibble или DF, так что у меня есть правильные данные для анализа наивного байесовского контента (SML). Я был бы так благодарен, если у кого-нибудь есть предложение, как это сделать. Я пробовал, например:
df_of_urls <- df_of_urls %>% mutate(title = get_title(df_of_urls$x))
get_title(list_of_urls)
Мой кадр данных URL выглядит следующим образом:
список URL 1
Большое спасибо заранее!