Contextualización
El presente es un proyecto “R” entorno al raspado de datos web (Data Scraping), orientamos el objetivo del proyecto a realizar una nube de palabras que desde el raspado de datos muestre las palabras más recurrentes en titulares noticiarios.
Librerias
# library(rvest)
# library(tidyverse)
# library(RColorBrewer)
# library(wordcloud)
Raspado de titulares noticiarioss
# # Fox News ----------------------------------------------------------------
#
# link_fox = "https://www.foxnews.com"
# page_fox = read_html(link_fox)
#
# titulares_fox = page_fox %>% html_nodes(".title-color-default a") %>% html_text()
#
# df_fox = data.frame(titulares_fox, stringsAsFactors = FALSE)
#
#
# # NYT ---------------------------------------------------------------------
#
# link_nyt <- "https://www.nytimes.com/es"
# page_nyt = read_html(link_nyt)
#
# titulares_nyt = page_nyt %>% html_nodes(".e15t083i0") %>% html_text()
#
# df_nyt = data.frame(titulares_nyt, stringsAsFactors = FALSE)
#
#
# # RT ----------------------------------------------------------------------
#
# link_rt = "https://actualidad.rt.com"
# page_rt = read_html(link_rt)
#
# titulares_rt = page_rt %>% html_nodes(".Section-root div:nth-child(1) :nth-child(1) .HeaderNews-root.Link-isFullCard")%>% html_text()
#
# df_rt = data.frame(titulares_rt, stringsAsFactors = FALSE)
#
#
# #Reemplazando valores innecesarios con "stringr"
#
# install.packages("stringr")
#
# library(stringr)
#
# str_replace_all(string=df_rt$titulares_rt, pattern="\n ", repl="")
#
#
# # BCC ---------------------------------------------------------------------
#
# link_BBC = "https://www.bbc.com/mundo"
#
# page_BBC = read_html(link_BBC)
#
# titulares_BBC = page_BBC %>% html_nodes(".evnt13t0") %>% html_text()
#
# df_BBC = data.frame(titulares_BBC, stringsAsFactors = FALSE)
Formateando datos para clusterizarlos
#Formateando nombres de columnas para usar rbind()
#
# colnames(df_rt) = "title"
#
# colnames(df_fox) = "title"
#
# colnames(df_BBC) = "title"
#
# colnames(df_nyt) = "title"
#
# clust_data_news <- rbind(df_BBC, df_fox, df_nyt, df_rt)
Formateo y correción de datos
# words_news = VCorpus(VectorSource(clust_data_news))
#
# words_news = tm_map(words_news, content_transformer(tolower))
#
# words_news = tm_map(words_news, removePunctuation)
#
# words_news = tm_map(words_news, removeWords, stopwords("spanish"))
Graficando (Word Cloud)
# cor = brewer.pal(8, "Dark2")
#
# wordcloud(words_news, scale = c(2.3, 0.1), random.order = FALSE, max.words = 75, rot.per = 0.25, colors = cor)
Debido a que la gráfica es dinamica y actualizada dependiendo del tiempo de ejecución, motivamos a que cada usuario pruebe desde su temporalidad las palabras clave y en tendencia dentro de los noticieros más recepcionados a nivel global.