Aan de slagGa gratis aan de slag

Nog een extractor

In de vorige oefening hebben we een functie gebouwd die de tekstinhoud uit H2-koppen kon halen.

We gaan nu iets anders doen: we willen alle links op een specifieke pagina extraheren. Daarvoor moeten we twee httr-functies aanroepen: html_nodes() met het argument css ingesteld op "a" (a is de HTML-tag voor links) en html_attr(), dat een gegeven attribuut uit een node haalt — in ons geval is dat attribuut "href", het linkadres.

purrr en rvest zijn voor je geladen. De vector urls staat nog steeds in je werkruimte.

Deze oefening maakt deel uit van de cursus

Gevorderd functioneel programmeren met purrr

Cursus bekijken

Oefeninstructies

  • Vul html_nodes() vooraf in met het argument css ingesteld op "a".

  • Maak de functie href(), een vooringevulde versie van html_attr().

  • Compose een nieuwe combinatie van href(), get_a() en read_html().

  • Pas deze nieuwe functie toe op de vector urls.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)

# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")

# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)

# Map get_links() to the urls list
res <- ___(urls, ___) %>%
  set_names(urls)

# See the result
res
Code bewerken en uitvoeren