Statuscodes ophalen met GET()
Voor deze laatste oefening schakelen we over van de functie read_lines() naar de functie GET() uit httr.
We maken eerst een possibly()-variant van GET() om te testen of sommige van de URL's die je hebt een fout opleveren. Als je de URL kunt benaderen, wordt er een connectieobject teruggegeven. Daarin vind je een element "status_code".
Focus je niet op de resultaten; onthoud gewoon dat als een GET()-functie een fout teruggeeft, dat komt doordat de URL niet beschikbaar is. Het statuscodenummer dat we teruggeven kan wat aanvoelen als webjargon, maar we gaan er in het volgende hoofdstuk dieper op in. Onthoud voor nu dat 200 betekent dat alles volgens verwachting is verlopen.
De vector urls is beschikbaar in je werkruimte; purrr en httr zijn voor je geladen.
Deze oefening maakt deel uit van de cursus
Gevorderd functioneel programmeren met purrr
Oefeninstructies
Maak een versie van
GET()dieNULLteruggeeft in geval van een fout.Stel de namen van de resultaten in.
Verwijder de
NULL.Haal de
"status_code"van elk element op.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
url_tester <- function(url_list){
url_list %>%
# Map a version of GET() that would otherwise return NULL
map( ___(GET, ___) ) %>%
# Set the names of the result
___( url_list ) %>%
# Remove the NULL
___() %>%
# Extract all the "status_code" elements
map(___)
}
# Try this function on the urls object
___(urls)