Noch ein Extractor
In der vorherigen Übung haben wir eine Funktion gebaut, die den Textinhalt aus H2-Überschriften extrahiert.
Hier probieren wir etwas anderes: Wir möchten alle Links extrahieren, die auf einer bestimmten Seite vorhanden sind. Dafür müssen wir zwei httr-Funktionen aufrufen: html_nodes() mit dem Argument css auf "a" gesetzt (a ist das HTML-Tag für Links) und html_attr(), das ein bestimmtes Attribut aus einem Node extrahiert — in unserem Fall ist dieses Attribut "href", also die Linkadresse.
purrr und rvest wurden für dich geladen. Den Vektor urls findest du weiterhin in deinem Workspace.
Diese Übung ist Teil des Kurses
<Kurs>Fortgeschrittene funktionale Programmierung mit purrr</Kurs>Übungsanweisungen
Fülle
html_nodes()vor, indem du das Argumentcssauf"a"setzt.Erstelle die Funktion
href(), eine vorbefüllte Version vonhtml_attr().Komponiere eine neue Kombination aus
href(),get_a()undread_html().Wende diese neue Funktion mit
map()auf den Vektorurlsan.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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