Kom igångKom igång gratis

Extrahera statuskoder med GET()

I den här sista övningen byter vi ut read_lines() mot GET() från httr.

Vi skapar först en possibly()-version av GET() för att testa om några av URL:erna returnerar ett fel. Om URL:en är tillgänglig returneras ett anslutningsobjekt som innehåller ett "status_code"-element.

Fokusera inte på resultaten i detalj – kom bara ihåg att om GET() returnerar ett fel beror det på att URL:en inte är tillgänglig. Statuskodsnumret kan verka som webbjargon, men vi går djupare in på det i nästa kapitel. För nu räcker det att veta att 200 betyder att allt gick som förväntat.

Vektorn urls finns tillgänglig i din arbetsmiljö, och purrr samt httr har redan laddats in åt dig.

Den här övningen är en del av kursen

Funktionell programmering på mellannivå med purrr

Visa kurs

Övningsinstruktioner

  • Skapa en version av GET() som returnerar NULL vid fel.

  • Ange namn på resultaten.

  • Ta bort NULL.

  • Extrahera "status_code" för varje element.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod