Kom igångKom igång gratis

Ännu en extraktor

I den föregående övningen byggde vi en funktion som kunde extrahera textinnehållet från H2-rubriker.

Här provar vi något annat: vi vill extrahera alla länkar som finns på en specifik sida. För att göra det behöver vi anropa två httr-funktioner: html_nodes(), där argumentet css sätts till "a" (a är HTML-taggen för länkar), och html_attr(), som extraherar ett givet attribut från en nod – i vårt fall attributet "href", som är länkadressen.

purrr och rvest har redan laddats. Du hittar fortfarande vektorn urls i din arbetsmiljö.

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

Funktionell programmering på mellannivå med purrr

Visa kurs

Övningsinstruktioner

  • Fyll i html_nodes() i förväg med argumentet css satt till "a".

  • Skapa funktionen href(), som är en förfylld version av html_attr().

  • Komponera en ny kombination av href(), get_a() och read_html().

  • Mappa den nya funktionen på vektorn urls.

Interaktiv övning med praktiskt arbete

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

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