LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Erstelle eine Variante von GET(), die im Fehlerfall NULL zurü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)
Code bearbeiten und ausführen