Eine der wich­tigs­ten Ei­gen­schaf­ten von Google Tabellen bzw. Google Sheets ist die Fähigkeit, Inhalte von Webseiten direkt im­por­tie­ren zu können: Die Funktion Google Sheets importXML() liest struk­tu­rier­te Website-Inhalte aus und überträgt sie in das ge­wünsch­te Sheet der Google-Ta­bel­len­kal­ku­la­ti­on.

Fakt

Die beiden Ta­bel­len­kal­ku­la­ti­ons­pro­gram­me Google Sheets und Excel weisen zwar viele Ähn­lich­kei­ten auf, un­ter­schei­den sich aber in einigen we­sent­li­chen 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 be­reit­ge­stellt werden. In diesem Artikel lernen Sie, wie Sie von dieser Mög­lich­keit Gebrauch machen können. Außerdem geben wir ein paar An­re­gun­gen, wie Sie dieses nützliche Feature von Google Tabellen sinnvoll einsetzen können.

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

Die Funktion importXML() liest struk­tu­rier­te Daten von Web­pro­jek­ten aus und fügt sie in die Zellen eines Ta­bel­len­blat­tes von Google Sheets ein.

Die Eingabe der Funktion in der Google-Software gestaltet sich dabei fol­gen­der­ma­ßen:

=importXML(URL, XPath)

Google Sheets importXML() hat nur zwei Parameter:

  • URL: Die Web­adres­se, von der Sie Daten holen möchten. Am ein­fachs­ten ist es, wenn Sie diese direkt aus der Adress­zei­le des Browsers kopieren.
     
  • XPath: Die Angabe, an welcher Stelle der Seite die Daten sind, die Sie im­por­tie­ren wollen.
Tipp

Aus­führ­li­che In­for­ma­tio­nen über XPath finden Sie in unserem XPath-Tutorial.

Wenn Sie die Parameter direkt in der Funktion angeben, müssen Sie sie in An­füh­rungs­zei­chen setzen. Einfacher ist es, wenn Sie die beiden Parameter (ohne An­füh­rungs­zei­chen) in zwei Ta­bel­len­zel­len schreiben und dann in der Formel-Funktion darauf verweisen. Damit ersparen Sie sich die An­füh­rungs­zei­chen.

Google Workspace
Ihr Büro in der Tasche
  • Alle Google-Apps zentral und online für flexibles Arbeiten
  • Nutzung von Gmail mit Ihrer Domain von IONOS
  • Inklusive prio­ri­sier­tem Google-Support

An­wen­dungs­mög­lich­kei­ten von Google Tabellen importXML

importXML() ist viel­sei­tig ein­setz­bar. Besonders in­ter­es­sant sind dabei die folgenden vier An­wen­dungs­mög­lich­kei­ten:

  • Erstellen von Link-Listen
  • Analyse von struk­tu­rier­ten Webpage-Daten
  • Ex­trak­ti­on von Text-Content
  • Übernahme von HTML-Tabellen

In den nach­fol­gen­den Ab­schnit­ten erklären wir Ihnen anhand dieser vier An­wen­dungs­op­tio­nen, wie Sie importXML in Google Sheets konkret einsetzen können.

Tipp

Google Tabellen erhalten Sie als Be­stand­teil von Google Workspace direkt bei IONOS – inklusive kos­ten­frei­er Domain!

Erstellen von Link-Listen

Manchmal möchte man in­ter­es­san­te Website-Adressen über­sicht­lich in einer Liste dar­stel­len, ein­schließ­lich URL, Name der Website und einer aus­sa­ge­kräf­ti­gen Kurz­be­schrei­bung. Eine gute Basis für diesen An­wen­dungs­fall liefert die Website Nodesign: Diese Link­samm­lung prä­sen­tiert Grafik-Werkzeuge für Ent­wick­ler ohne bzw. mit geringer Aus­bil­dung in puncto Design. Die Links er­schei­nen in Boxen, die jeweils ein Bild, einen Titel und eine Kurz­be­schrei­bung enthalten. Aktuell enthält die Sammlung über 140 Einträge.

Wir möchten daraus in Google Tabellen mit importXML() eine über­sicht­li­che 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. Be­schrif­tung des Links) und die Kurz­be­schrei­bung. Dazu rufen wir im Browser das Ent­wick­ler­tool auf (Taste F12 oder rechte Maustaste und „un­ter­su­chen“) und wählen die erste Kachel aus. Dort finden wir unterhalb des <h5>-Tags die ge­wünsch­ten Angaben: die URL (1), den Ankertext zum Link (2) sowie die Kurz­be­schrei­bung (3).

  1. XPath de­fi­nie­ren

Im zweiten Schritt de­fi­nie­ren wir die Pfad­an­ga­ben (XPath) für die drei In­for­ma­tio­nen:

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

//h5/a/@href

Ankertext: Der Ankertext ist der Inhalt des bereits oben de­fi­nier­ten <a>-Tags: //h5/a. Wir über­neh­men den XPath von oben und lassen das Attribut @href weg.

Kurz­be­schrei­bung: Dieser XPath ist etwas kniff­li­ger, da er sich nicht auf der gleichen Hier­ar­chie­stu­fe befindet wie der <a>-Tag. Wenn wir einfach den Absatz <p> als XPath nehmen, stimmen die Texte nicht mehr mit der URL überein. Deshalb de­fi­nie­ren wir den Absatz, der die Kurz­be­schrei­bung enthält, als dasjenige Element, das auf gleicher Hier­ar­chie­stu­fe 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 Ta­bel­len­spal­te. Dies müssen wir nur auf der ersten Zeile tun; das Programm lädt die übrigen Zeilen au­to­ma­tisch. Dabei wird die Formel selbst ebenfalls mit Inhalt über­schrie­ben.

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

Diese Tabelle können Sie auf die gewohnte Art und Weise weiter be­ar­bei­ten; die einzelnen Zellen enthalten dabei die ei­gent­li­chen Daten und nicht die Formel.

Excel mit Microsoft 365 Business von IONOS!
Ver­netz­tes Arbeiten mit Microsoft 365
  • Bewährt: Voll­stän­di­ges Office-Paket
  • Sicher: 1 TB zentraler Spei­cher­platz
  • Orts­un­ab­hän­gig: Auf bis zu 5 Geräten in­stal­lier­bar

Analyse von struk­tu­rier­ten Webpage-Daten

Die gerade ge­ne­rier­te Link-Liste kann nun bei Bedarf auf ver­schie­dens­te Art ana­ly­siert werden. Bei­spiels­wei­se könnte man zu jeder ge­fun­de­nen URL noch den Meta-Title, die Meta-De­scrip­ti­on, die Sprache und die Codierung auflisten – In­for­ma­tio­nen, 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 ver­link­ten Websites ab­zu­kop­peln, können wir sie markieren, kopieren und mit der Kom­bi­na­ti­on [Shift] + [Ctrl] + [V] in ein neues Ta­bel­len­blatt einfügen.

Ex­trak­ti­on von Text-Content

Dank den Fort­schrit­ten in der Tex­terken­nung durch Künst­li­che In­tel­li­genz, auch als Natural Language Pro­ces­sing bekannt, wächst das Bedürfnis, größere Text­men­gen zwecks Analyse von Websites zu ex­tra­hie­ren.

Ein gutes Beispiel dafür sind Ta­ges­zei­tun­gen, News-Ag­gre­ga­to­ren und Presse-Über­blicks­sei­ten: Diese liefern wertvolle In­for­ma­tio­nen für eine Trend­ana­ly­se.

Für unsere An­wen­dungs-De­mons­tra­ti­on wählen wir den Pres­se­über­blick newstral.com. Wir wollen einfach eine Liste sämt­li­cher Pres­se­mel­dun­gen (Headlines) ex­tra­hie­ren. Dazu gehen wir wie folgt vor:

  1. Inhalte im Quellcode der Webpage ermitteln

Im Ent­wick­ler­tool (Funk­ti­ons­tas­te F12 oder mit rechte Maustaste „un­ter­su­chen“ klicken) se­lek­tie­ren wir eine Schlag­zei­le und schauen uns an, wie diese struk­tu­riert ist. Die Struktur ist in diesem Fall ganz un­kom­pli­ziert: Die Schlag­zei­le ist der Ankertext des Links (unterste Zeile):

  1. XPath de­fi­nie­ren

Damit aus­schließ­lich die Headlines aus­ge­ge­ben werden und nicht auch alle übrigen Links auf der Homepage, müssen wir den XPath al­ler­dings ein bisschen exakter spe­zi­fi­zie­ren: Gefunden werden sollen nur <a>-Tags der Klasse „headline“, und zwar nur solche, die sich innerhalb des Ab­schnit­tes 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-Ta­bel­len­blatt 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 Schlag­zei­len. Das Schöne daran: Diese Liste kann jederzeit mit F5 ak­tua­li­siert werden, sodass sie immer die neusten Inhalte anzeigt.

Tipp

Möchten Sie noch mehr Tricks für Google Tabellen ken­nen­ler­nen? 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 über­tra­gen, 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 im­por­tie­ren, benötigen wir lediglich den <table>-Tag im XPath. Al­ler­dings müssen wir noch her­aus­fin­den, wie viele <table>-Tags vor unserer Tabelle vorkommen. Die von uns gesuchte Tabelle ist die dritte auf dieser Webseite. Die Formel dazu lautet ent­spre­chend:

(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 Ta­bel­len­blatt über­nom­men.

Sie sehen: Der „XML to Google Sheets“-Import ist enorm viel­sei­tig ein­setz­bar und spart eine Menge Zeit und Arbeit.

Hinweis

Viele Social Media Platt­for­men und große Online-Händler wie Amazon verbieten Web Scraping. Lesen Sie deshalb zuerst die Nut­zungs­be­din­gun­gen, bevor Sie Ihre neu er­wor­be­nen Web Scraping Skills an diesen Platt­for­men aus­pro­bie­ren.

Zum Hauptmenü