Veilig itereren
Net als in het vorige hoofdstuk doen we alsof je data-analist bent bij een webbureau. Dit keer is je gevraagd om wat webscraping te doen.
(Opmerking: geen zorgen als je niet weet hoe webscraping werkt. We beginnen eenvoudig en leggen alle functies uit.)
Je hebt een lijst met URL's ontvangen, maar je vermoedt dat sommige geen echte adressen zijn. Het eerste wat je gaat doen is testen of je met deze URL's kunt verbinden. Hiervoor gebruiken we een eenvoudige functie uit het readr-pakket: read_lines(), die we binnen een safely() plaatsen. Als je een URL meegeeft, leest read_lines() de HTML of geeft een foutmelding terug als de URL niet bereikbaar is.
De vector urls is beschikbaar in je werkruimte. Print hem in de console als je wilt zien wat erin staat.
Deze oefening maakt deel uit van de cursus
Gevorderd functioneel programmeren met purrr
Oefeninstructies
Maak een veilige versie van de functie
read_lines().Map deze nieuw gemaakte functie over de meegeleverde vector
urls.Stel de namen van de resultaten in met de functie
set_names().Extraheer het element
"error"van elke sublijst.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create a safe version of read_lines()
safe_read <- ___(___)
# Map it on the urls vector
res <- ___(urls, ___)
# Set the name of the results to `urls`
named_res <- ___(res, ___)
# Extract only the "error" part of each sublist
___(named_res, ___)