EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Envuelve la función read_lines() en una llamada a possibly() 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 argumento collapse establecido 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, ___)
Editar y ejecutar código