Statuscodes mit GET() extrahieren
In dieser letzten Übung wechseln wir von der Funktion read_lines() zur Funktion GET() aus httr.
Zuerst erstellen wir eine possibly()-Variante von GET(), um zu prüfen, ob einige der URLs, die du hast, einen Fehler zurückgeben. Wenn du auf die URL zugreifen kannst, wird ein Verbindungsobjekt zurückgegeben. Darin findest du ein Element "status_code".
Konzentriere dich nicht auf die Ergebnisse. Merke dir nur: Wenn GET() einen Fehler zurückgibt, ist die URL nicht erreichbar. Die von uns zurückgegebene Statuscode-Nummer wirkt vielleicht etwas wie Web-Jargon, aber wir sprechen im nächsten Kapitel ausführlicher darüber. Für den Moment reicht: 200 bedeutet, alles lief wie erwartet.
Der Vektor urls ist in deinem Arbeitsbereich verfügbar, purrr und httr sind für dich geladen.
Diese Übung ist Teil des Kurses
<Kurs>Fortgeschrittene funktionale Programmierung mit purrr</Kurs>Übungsanweisungen
Erstelle eine Variante von
GET(), die im FehlerfallNULLzurückgibt.Setze die Namen der Ergebnisse.
Entferne die
NULL.Extrahiere den
"status_code"jedes Elements.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)