Otro extractor
En el ejercicio anterior, construimos una función capaz de extraer el contenido de texto de los encabezados H2.
Aquí probaremos otra cosa: queremos extraer todos los enlaces que existen en una página específica. Para hacerlo, necesitaremos llamar a dos funciones de httr: html_nodes(), con el argumento css establecido en "a" (a es la etiqueta HTML para los enlaces), y html_attr(), que extrae un atributo dado de un nodo; en nuestro caso, este atributo será "href", que es la dirección del enlace.
purrr y rvest ya se han cargado por ti. El vector urls sigue disponible en tu espacio de trabajo.
Este ejercicio forma parte del curso
Programación funcional intermedia con purrr
Instrucciones del ejercicio
Prefija
html_nodes()con el argumentocssestablecido en"a".Crea la función
href(), que será una versión prefijada dehtml_attr().Compón una nueva combinación de
href(),get_a()yread_html().Aplica esta nueva función al vector
urls.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)
# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")
# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)
# Map get_links() to the urls list
res <- ___(urls, ___) %>%
set_names(urls)
# See the result
res