Aan de slagGa gratis aan de slag

Bouw een functie

Je probeert je tools voor webscraping verder te perfectioneren, zodat je zo efficiënt mogelijk kunt werken als data-analist bij een webbureau.

In deze oefening maak je de extractor-functie van de vorige oefening iets strenger: als de code die door de status-extractor wordt teruggegeven niet tussen 200 en 203 ligt, geeft de functie een ontbrekende waarde (NA) terug. In het andere geval wordt de statuscode teruggegeven.

purrr en httr zijn alvast voor je geladen.

Deze oefening maakt deel uit van de cursus

Gevorderd functioneel programmeren met purrr

Cursus bekijken

Oefeninstructies

  • Negate de %in%-operator, die wordt gebruikt om te testen of het element links voorkomt in het element rechts.

  • Stel een extract_status()-functie samen, die een combinatie is van GET() en status_code().

  • Maak de gegeven functie af: de statuscode van de url moet worden opgehaald en toegewezen aan een variabele code. Als deze code niet in 200:203 zit, moet een ontbrekende waarde worden geretourneerd. Anders retourneer je de statuscode.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Negate the %in% function 
`%not_in%` <- ___(`%in%`)

# Compose a status extractor 
extract_status <- ___(___, ___)

# Complete the function definition
strict_code <- function(url) {
  # Extract the status of the URL
  code <- ___(___)
  # If code is not in the acceptable range ...
  if (code ___ 200:203) {
    # then return NA
    return(___)
  }
  code
}
Code bewerken en uitvoeren