Aan de slagGa gratis aan de slag

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

Cursus bekijken

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, ___)
Code bewerken en uitvoeren