Google-Tabellen: importXML-Funktion für Web Scraping nutzen

Eine der wichtigsten Eigenschaften von Google Tabellen bzw. Google Sheets ist die Fähigkeit, Inhalte von Webseiten direkt importieren zu können: Die Funktion Google Sheets importXML() liest strukturierte Website-Inhalte aus und überträgt sie in das gewünschte Sheet der Google-Tabellenkalkulation.

Fakt

Die beiden Tabellenkalkulationsprogramme Google Sheets und Excel weisen zwar viele Ähnlichkeiten auf, unterscheiden sich aber in einigen wesentlichen Punkten, wie unser Vergleich von Excel und Google Sheets zeigt.

Dieser „XML to Google Sheets“-Import ist äußerst praktisch, wenn man Tabellen aus Daten erzeugen möchte, die online bereitgestellt werden. In diesem Artikel lernen Sie, wie Sie von dieser Möglichkeit Gebrauch machen können. Außerdem geben wir ein paar Anregungen, wie Sie dieses nützliche Feature von Google Tabellen sinnvoll einsetzen können.

Google Sheets: importXML()-Funktion kurz erklärt

Die Funktion importXML() liest strukturierte Daten von Webprojekten aus und fügt sie in die Zellen eines Tabellenblattes von Google Sheets ein.

Die Eingabe der Funktion in der Google-Software gestaltet sich dabei folgendermaßen:

=importXML(URL, XPath)

Google Sheets importXML() hat nur zwei Parameter:

  • URL: Die Webadresse, von der Sie Daten holen möchten. Am einfachsten ist es, wenn Sie diese direkt aus der Adresszeile des Browsers kopieren.
     
  • XPath: Die Angabe, an welcher Stelle der Seite die Daten sind, die Sie importieren wollen.
Tipp

Ausführliche Informationen über XPath finden Sie in unserem XPath-Tutorial.

Wenn Sie die Parameter direkt in der Funktion angeben, müssen Sie sie in Anführungszeichen setzen. Einfacher ist es, wenn Sie die beiden Parameter (ohne Anführungszeichen) in zwei Tabellenzellen schreiben und dann in der Formel-Funktion darauf verweisen. Damit ersparen Sie sich die Anführungszeichen.

Google Workspace mit IONOS

Einfach, kompatibel und flexibel: Nutzen Sie Gmail mit Ihrer Domain und profitieren von priorisiertem Google-Support!

alle Google-Apps
Videokonferenzen
30 GB Speicher

Anwendungsmöglichkeiten von Google Tabellen importXML

importXML() ist vielseitig einsetzbar. Besonders interessant sind dabei die folgenden vier Anwendungsmöglichkeiten:

  • Erstellen von Link-Listen
  • Analyse von strukturierten Webpage-Daten
  • Extraktion von Text-Content
  • Übernahme von HTML-Tabellen

In den nachfolgenden Abschnitten erklären wir Ihnen anhand dieser vier Anwendungsoptionen, wie Sie importXML in Google Sheets konkret einsetzen können.

Tipp

Google Tabellen erhalten Sie als Bestandteil von Google Workspace direkt bei IONOS – inklusive kostenfreier Domain!

Erstellen von Link-Listen

Manchmal möchte man interessante Website-Adressen übersichtlich in einer Liste darstellen, einschließlich URL, Name der Website und einer aussagekräftigen Kurzbeschreibung. Eine gute Basis für diesen Anwendungsfall liefert die Website Nodesign: Diese Linksammlung präsentiert Grafik-Werkzeuge für Entwickler ohne bzw. mit geringer Ausbildung in puncto Design. Die Links erscheinen in Boxen, die jeweils ein Bild, einen Titel und eine Kurzbeschreibung enthalten. Aktuell enthält die Sammlung über 140 Einträge.

Wir möchten daraus in Google Tabellen mit importXML() eine übersichtliche Link-Liste erstellen und gehen hierfür wie folgt vor:

  1. Inhalte im Quellcode der Webpage ermitteln

Benötigt werden in diesem Fall die URL, der Ankertext (d.h. Beschriftung des Links) und die Kurzbeschreibung. Dazu rufen wir im Browser das Entwicklertool auf (Taste F12 oder rechte Maustaste und „untersuchen“) und wählen die erste Kachel aus. Dort finden wir unterhalb des <h5>-Tags die gewünschten Angaben: die URL (1), den Ankertext zum Link (2) sowie die Kurzbeschreibung (3).

  1. XPath definieren

Im zweiten Schritt definieren wir die Pfadangaben (XPath) für die drei Informationen:

URL: Die URL ist ein Attribut des Tags <a>,der sich unterhalb des <h5>-Tags befindet. Der XPath lautet entsprechend:

//h5/a/@href

Ankertext: Der Ankertext ist der Inhalt des bereits oben definierten <a>-Tags: //h5/a. Wir übernehmen den XPath von oben und lassen das Attribut @href weg.

Kurzbeschreibung: Dieser XPath ist etwas kniffliger, da er sich nicht auf der gleichen Hierarchiestufe befindet wie der <a>-Tag. Wenn wir einfach den Absatz <p> als XPath nehmen, stimmen die Texte nicht mehr mit der URL überein. Deshalb definieren wir den Absatz, der die Kurzbeschreibung enthält, als dasjenige Element, das auf gleicher Hierarchiestufe nach dem <h5>-Tag folgt:

//h5/following-sibling::p
  1. Die Funktion in der Google Tabelle anwenden

Nun schreiben wir für jede der drei Angaben eine importXML()-Anweisung in eine Tabellenspalte. Dies müssen wir nur auf der ersten Zeile tun; das Programm lädt die übrigen Zeilen automatisch. Dabei wird die Formel selbst ebenfalls mit Inhalt überschrieben.

Um die Übersicht zu behalten, fügen wir oben eine Leerzeile ein und tragen dort die Funktion noch einmal zur Information ein – diesmal mit einem Apostroph am Anfang, damit die Formel nicht ausgeführt, sondern als reiner Text behandelt wird.

Diese Tabelle können Sie auf die gewohnte Art und Weise weiter bearbeiten; die einzelnen Zellen enthalten dabei die eigentlichen Daten und nicht die Formel.

Excel mit Microsoft 365 Business von IONOS!

Organisieren Sie Ihre Daten in Excel und erstellen Sie im Handumdrehen Tabellen. In allen Office-Paketen enthalten!

Office Online
OneDrive mit 1TB
24/7 Support

Analyse von strukturierten Webpage-Daten

Die gerade generierte Link-Liste kann nun bei Bedarf auf verschiedenste Art analysiert werden. Beispielsweise könnte man zu jeder gefundenen URL noch den Meta-Title, die Meta-Description, die Sprache und die Codierung auflisten – Informationen, die für SEO-Zwecke relevant sind.

Hierzu schreiben wir die XPath-Angaben in die oberste Zeile und bauen die Funktion in der zweiten Zeile zusammen (Beispiel: zweite Spalte):

=importXML($A2,B$1)

Die Formel entnimmt die URL aus der ersten Spalte und den XPath aus der obersten Zeile. Damit wir die Formel nach unten und nach rechts erweitern können, setzen wir die erste Spalte und die erste Zeile als absoluten Bezug ($-Symbol).

Hinweis

Die #NV-Einträge sagen aus, dass die gesuchten Angaben auf der Webpage nicht gefunden wurden.

Um die Tabelle von den verlinkten Websites abzukoppeln, können wir sie markieren, kopieren und mit der Kombination [Shift] + [Ctrl] + [V] in ein neues Tabellenblatt einfügen.

Extraktion von Text-Content

Dank den Fortschritten in der Texterkennung durch Künstliche Intelligenz, auch als Natural Language Processing bekannt, wächst das Bedürfnis, größere Textmengen zwecks Analyse von Websites zu extrahieren.

Ein gutes Beispiel dafür sind Tageszeitungen, News-Aggregatoren und Presse-Überblicksseiten: Diese liefern wertvolle Informationen für eine Trendanalyse.

Für unsere Anwendungs-Demonstration wählen wir den Presseüberblick newstral.com. Wir wollen einfach eine Liste sämtlicher Pressemeldungen (Headlines) extrahieren. Dazu gehen wir wie folgt vor:

  1. Inhalte im Quellcode der Webpage ermitteln

Im Entwicklertool (Funktionstaste F12 oder mit rechte Maustaste „untersuchen“ klicken) selektieren wir eine Schlagzeile und schauen uns an, wie diese strukturiert ist. Die Struktur ist in diesem Fall ganz unkompliziert: Die Schlagzeile ist der Ankertext des Links (unterste Zeile):

  1. XPath definieren

Damit ausschließlich die Headlines ausgegeben werden und nicht auch alle übrigen Links auf der Homepage, müssen wir den XPath allerdings ein bisschen exakter spezifizieren: Gefunden werden sollen nur <a>-Tags der Klasse „headline“, und zwar nur solche, die sich innerhalb des Abschnittes der Klasse „headlines-container“ befinden.

//div[@class="headlines-container"]/ul/li/span/a[@class="headline"]
  1. Die Funktion in der Google Tabelle anwenden

URL und XPath tragen wir in einem leeren Google-Tabellenblatt in die Spalte ganz links ein. Von dort können wir sie bequem „holen“, um die Funktion zu schreiben:

(Zelle B1) =importXML(A1,A2)
(Zelle B2) =importXML(A1,A3)

Das Resultat ist eine Liste der Schlagzeilen. Das Schöne daran: Diese Liste kann jederzeit mit F5 aktualisiert werden, sodass sie immer die neusten Inhalte anzeigt.

Tipp

Möchten Sie noch mehr Tricks für Google Tabellen kennenlernen? Lesen Sie hier, wie Sie Google-Sheets-Dropdown-Listen anlegen können.

Übernahme von HTML-Tabellen

Um eine Tabelle von einer Webseite in Google Sheets zu übertragen, genügt eine einzige Formel. Nehmen wir zum Beispiel eine Tabelle in einem Beitrag von Wikipedia über die Samsung Galaxy Modelle: Um diese Tabelle zu importieren, benötigen wir lediglich den <table>-Tag im XPath. Allerdings müssen wir noch herausfinden, wie viele <table>-Tags vor unserer Tabelle vorkommen. Die von uns gesuchte Tabelle ist die dritte auf dieser Webseite. Die Formel dazu lautet entsprechend:

(deutsch) =importXML(„https://de.wikipedia.org/wiki/Samsung_Galaxy“, „//table[3]/tbody/*“)
(englisch) =importXML(„https://en.wikipedia.org/wiki/Samsung_Galaxy“, „//table[3]/tbody/*“)

Voilà! Mit einer einzigen Formel in der Zelle B1 haben wir die gesamte Tabelle mit allen Zeilen und Spalten korrekt in das Tabellenblatt übernommen.

Sie sehen: Der „XML to Google Sheets“-Import ist enorm vielseitig einsetzbar und spart eine Menge Zeit und Arbeit.

Hinweis

Viele Social Media Plattformen und große Online-Händler wie Amazon verbieten Web Scraping. Lesen Sie deshalb zuerst die Nutzungsbedingungen, bevor Sie Ihre neu erworbenen Web Scraping Skills an diesen Plattformen ausprobieren.