LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Fülle html_nodes() vor, indem du das Argument css auf "a" setzt.

  • Erstelle die Funktion href(), eine vorbefüllte Version von html_attr().

  • Komponiere eine neue Kombination aus href(), get_a() und read_html().

  • Wende diese neue Funktion mit map() auf den Vektor urls an.

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
Code bearbeiten und ausführen