Uma versão com possibly() de read_lines()
Ainda estamos trabalhando com a série de URLs que você recebeu para fazer scraping. Estamos testando vários métodos para identificar URLs que não podem ser acessadas. Por que estamos fazendo isso? Porque o primeiro passo do web scraping é analisar se você consegue acessar a URL ou não. É para isso que o código que estamos escrevendo será útil.
No exercício anterior, encapsulamos a função read_lines() dentro de safely(). Neste exercício, vamos usar a função possibly().
Na terminologia da web, 404 indica que uma página não está disponível. Esse número será usado como argumento otherwise.
Além disso, como read_lines() retorna um vetor de comprimento n ao ler uma página, vamos colapsar esse conteúdo usando a função paste().
O vetor urls foi fornecido para você.
Este exercicio faz parte do curso
Programação Funcional Intermediária com purrr
Instruções do exercicio
Encapsule a função
read_lines()em uma chamada apossibly()que retorne 404 emotherwise.Aplique essa nova função na lista de URLs usando map e já encadeie o resultado em
set_names()Transforme cada elemento dessa lista em uma string de comprimento 1 usando a função
paste(), com o argumentocollapsedefinido como" ".Mantenha apenas os elementos que são iguais a 404.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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, ___)