Scraping

Obtencion de Datos no estructurados.

A traves del Blog del Banco Mundial se han extraido los enunciados de noticias tomando en consideracion el uso de la palabra clave tarjeta de credito.

##  [1] "\n            ¿Qué es la AIF?\n        "                                                                                                                                                                            
##  [2] "\n            El Banco Mundial adelanta la AIF-20 para ayudar a los países más pobres a recuperarse de la crisis provocada por la COVID-19\n        "                                                               
##  [3] "\n            La Asociación Internacional de Fomento y el sector privado unen sus fuerzas para combatir la COVID-19 (coronavirus) en los países más frágiles\n        "                                             
##  [4] "\n            El Banco Mundial anuncia un incremento de USD 2200 millones dirigido a los refugiados y a las comunidades receptoras\n        "                                                                       
##  [5] "\n            La comunidad internacional destina USD 82 000 millones para renovar su compromiso con los países más pobres del mundo\n        "                                                                      
##  [6] "\n            Un nuevo comienzo para los excombatientes en Rwanda\n        "                                                                                                                                        
##  [7] "\n            Banco Mundial anuncia apoyo a Bangladesh para ir en ayuda de los refugiados rohinyás\n        "                                                                                                       
##  [8] "\n            La AIF emite su primer bono y abre camino a un nuevo modelo de financiamiento para el desarrollo  El bono inaugural de la AIF recauda USD 1500 millones de inversionistas de todo el mundo*\n        "
##  [9] "\n            Afganistán: aumenta la matrícula escolar de niñas gracias a la construcción de nuevas instalaciones\n        "                                                                                        
## [10] "\n            Libro “Tales of Skills” recoge testimonios de 10 beneficiarios del proyecto educativo STEP de Bangladesh\n        "                                                                                   
## [11] "\n            El apoyo del Grupo Banco Mundial a los países en desarrollo fue de casi USD 59 000 millones en el ejercicio de 2017\n        "                                                                        
## [12] "\n            Se designa a Kristalina Georgieva directora general del BIRF y la AIF\n        "                                                                                                                      
## [13] "\n            Discurso de Jim Yong Kim, presidente del Grupo Banco Mundial, ante la sesión plenaria\n        "                                                                                                      
## [14] "\n            En una aldea de Afganistán, el acceso a agua potable disminuye las enfermedades transmitidas por el agua\n        "                                                                                   
## [15] "\n            Etiopía: Empresarias consiguen financiamiento gracias al Proyecto de desarrollo de la capacidad empresarial de la mujer (WEDP)\n        "                                                             
## [16] "\n            Camerún: Crear oportunidades para lograr el crecimiento inclusivo y luchar contra la pobreza\n        "                                                                                               
## [17] "\n            Apoyo a la consolidación del Estado y el desarrollo en Afganistán\n        "                                                                                                                          
## [18] "\n            Abastecimiento de agua potable para 1,3 millones de habitantes rurales en Viet Nam\n        "

A traves de la pagina de Puntos Globales, se ha extraido la informacion correspondiente a las mejores tarjetas de credito en Ecuador.

## [1] "Lifemiles Platinum Banco Guayaquil"  
## [2] "Lifemiles Clásica Banco de Guayaquil"
## [3] "Visa Signature Lifemiles Ecuador"    
## [4] "American Express AAdvantage Elite"   
## [5] "American Express AAdvantage Platinum"

Obtencion de Datos Estructurados

A traves de Google Noticias, se extraeran los titulares de noticias referentes a tarjetas de credito, los cuales seran presentados a manera de un data frame estructurado.

# Funciones
obtieneNoticiasData = function(noticia){
  news_pag = "https://news.google.com/"
  titular = noticia %>% html_node("h3") %>% html_text()
  fecha = noticia %>% html_node("time") %>% html_attr("datetime")
  diario = noticia %>% html_node("a.wEwyrc.AVN2gc.uQIVzc.Sksgp") %>% html_text()
  link_enmascarado = noticia %>% html_node("h3 a") %>% html_attr("href")
  link_enmascarado = paste0(news_pag,substring(link_enmascarado,3))  
  link_enmascarado = read_html(link_enmascarado)
  link = link_enmascarado %>% 
    html_node(css='c-wiz div div c-wiz div a') %>% 
    html_attr("href")
  noticiaDF = data.frame(Titular=titular, Fecha=fecha, Diario=diario, Link=link, stringsAsFactors = F)
  return(noticiaDF)
}

obtieneNoticiasBusqueda = function(busqueda){
  news_pag = "https://news.google.com/"
  html_dir = paste0(news_pag,"search?q=",gsub(" ","+",busqueda),"&hl=es-419&gl=US&ceid=US:es-419")
  google_news = read_html(html_dir)
  noticias = google_news %>% 
    html_nodes(css = "c-wiz div div div div main c-wiz div div div article")
  noticiasDF = map(noticias,obtieneNoticiasData)
  noticiasDF = bind_rows(noticiasDF)
  noticiasDF = noticiasDF[!is.na(noticiasDF$Titular),]
  return(noticiasDF)
}

# Dataframes de titulares ----------
noticiasTcreditoDF = obtieneNoticiasBusqueda(busqueda="tarjeta de crédito when:1d")

# Lectura de links de noticias ----------

noticia = read_html(noticiasTcreditoDF$Link[5])
css = ".paragraphs"
text_nodes = noticia %>% 
  html_nodes(css = css) %>% 
  html_children()
text_nodes = text_nodes[is.na(sapply(text_nodes,function(x)html_attr(x,'class')))]
text = text_nodes %>% 
  html_text()
text = paste0(text, collapse = " ")