Ä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
Övningsinstruktioner
Fyll i
html_nodes()i förväg med argumentetcsssatt till"a".Skapa funktionen
href(), som är en förfylld version avhtml_attr().Komponera en ny kombination av
href(),get_a()ochread_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