Zacznij terazZacznij za darmo

Pobieranie kodów statusu za pomocą GET()

W ostatnim ćwiczeniu przejdziemy z funkcji read_lines() na funkcję GET() z pakietu httr.

Na początku stworzymy wersję possibly() funkcji GET(), aby sprawdzić, czy niektóre z posiadanych adresów URL zwracają błąd. Jeśli połączenie z danym adresem URL powiedzie się, zostanie zwrócony obiekt połączenia zawierający element "status_code".

Nie przejmuj się szczegółami wyników – zapamiętaj tylko, że jeśli funkcja GET() zwraca błąd, oznacza to, że dany adres URL jest niedostępny. Numer kodu statusu może brzmieć jak żargon sieciowy, ale omówimy to dokładniej w następnym rozdziale. Na razie wystarczy wiedzieć, że kod 200 oznacza, że wszystko przebiegło zgodnie z oczekiwaniami.

Wektor urls jest dostępny w twoim środowisku, a pakiety purrr i httr zostały już załadowane.

To ćwiczenie jest częścią kursu

Funkcyjne programowanie średnio zaawansowane z purrr

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz wersję funkcji GET(), która w przypadku błędu zwróci NULL.

  • Nadaj nazwy elementom wynikowej listy.

  • Usuń wartości NULL.

  • Wyodrębnij "status_code" każdego elementu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod