Una versión con possibly() de read_lines()
Seguimos trabajando con la serie de URLs que te dieron para hacer scraping. Estamos probando varios métodos para identificar las URLs a las que no se puede acceder. ¿Por qué? Porque el primer paso del web scraping es analizar si puedes acceder o no a la URL. Para eso servirá el código que estamos escribiendo.
En el ejercicio anterior, encapsulamos la función read_lines() dentro de safely(). En este ejercicio, usaremos la función possibly().
En terminología web, un 404 indica que una página no está disponible. Usaremos este número como argumento otherwise.
Además, como read_lines() devuelve un vector de longitud n al leer una página web, vamos a concatenar su contenido usando la función paste().
Se te ha proporcionado el vector urls.
Este ejercicio forma parte del curso
Programación funcional intermedia con purrr
Instrucciones del ejercicio
Envuelve la función
read_lines()en una llamada apossibly()que, en caso contrario, devuelva 404.Aplica esta nueva función a la lista de URLs y encadénalo directamente a
set_names()Convierte cada elemento de esta lista en un carácter de longitud uno usando la función
paste(), con el argumentocollapseestablecido a" ".Quédate solo con los elementos que sean iguales a 404.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Create a possibly() version of read_lines()
possible_read <- ___(___, otherwise = ___)
# Map this function on urls, pipe it into set_names()
res <- map(urls, ___) %>% ___(urls)
# Paste each element of the list
res_pasted <- ___(res, ___, collapse = ___)
# Keep only the elements which are equal to 404
___(res_pasted, ___)