Wussten Sie, dass es möglich ist, mit Google Sheets Daten von einer Website zu extrahieren? Hier erfahren Sie, wie Sie es tun können.
Web Scraping ist eine leistungsstarke Technik, um Informationen aus Websites zu extrahieren und diese automatisch zu analysieren. Obwohl Sie dies manuell tun können, kann es eine mühsame und zeitaufwändige Aufgabe sein. Web-Scraping-Tools machen den Prozess schneller und effizienter und kosten gleichzeitig weniger.
Interessanterweise hat Google Sheets dank seiner IMPORTXML-Funktion das Potenzial, Ihr Web-Scraping-Tool aus einer Hand zu werden. Mit IMPORTXML können Sie ganz einfach Daten von Webseiten extrahieren und sie für Analysen, Berichte oder andere datengesteuerte Aufgaben verwenden.
Die IMPORTXML-Funktion in Google Sheets
Google Sheets bietet eine integrierte Funktion namens IMPORTXML, mit der Sie Daten aus Webformaten wie XML, HTML, RSS und CSV importieren können. Diese Funktion kann von entscheidender Bedeutung sein, wenn Sie Daten von Websites sammeln möchten, ohne auf komplexe Codierung zurückgreifen zu müssen.
Hier ist die grundlegende Syntax von IMPORTXML:
=IMPORTXML(url, xpath_query)
- URL: Die URL der Webseite, von der Sie Daten extrahieren möchten.
- xpath_query: Die XPath-Abfrage, die die Daten definiert, die Sie extrahieren möchten.
XPath (XML Path Language) ist eine Sprache, die zum Navigieren in XML-Dokumenten, einschließlich HTML, verwendet wird und es Ihnen ermöglicht, den Speicherort von Daten innerhalb einer HTML-Struktur anzugeben. Das Verständnis von XPath-Abfragen ist für die ordnungsgemäße Verwendung von IMPORTXML unerlässlich.
XPath verstehen
XPath bietet verschiedene Funktionen und Ausdrücke zum Navigieren und Filtern von Daten innerhalb eines HTML-Dokuments. Eine umfassende XML- und XPath-Anleitung würde den Rahmen dieses Artikels sprengen, daher begnügen wir uns mit einigen wesentlichen XPath-Konzepten:
- Elementauswahl: Sie können Elemente mit auswählen / Und // Wege bezeichnen. Zum Beispiel, /html/body/div Wählt alle div-Elemente im Hauptteil eines Dokuments aus.
- Attributauswahl: Zur Auswahl von Attributen können Sie verwenden @. Zum Beispiel, //@href wählt alle aus href Attribute auf der Seite.
- Prädikatfilter: Sie können Elemente mithilfe von in eckigen Klammern eingeschlossenen Prädikaten filtern ([ ]). Zum Beispiel, /div[@class="container"] wählt alle aus div Elemente mit der Klasse Container.
- Funktionen: XPath bietet verschiedene Funktionen wie z enthält(), beginnt mit(), Und Text() um bestimmte Aktionen auszuführen, z. B. die Prüfung auf Textinhalte oder Attributwerte.
So extrahieren Sie XPath aus einer Website
Bisher kennen Sie die IMPORTXML-Syntax, Sie kennen die URL der Website und Sie wissen, welches Element Sie extrahieren möchten. Aber wie erhält man den XPath des Elements?
Sie müssen die Struktur einer Website nicht auswendig kennen, um deren Daten mit IMPORTXML zu extrahieren. Tatsächlich verfügt jeder Browser über ein praktisches Tool, mit dem Sie den XPath jedes Elements sofort kopieren können.
Das Werkzeug „Element prüfen“. Ermöglicht das Extrahieren des XPath aus Website-Elementen. Hier ist wie:
- Navigieren Sie mit Ihrem bevorzugten Webbrowser zu der Webseite, die Sie durchsuchen möchten.
- Suchen Sie das Element, das Sie abkratzen möchten.
- Klicken Sie mit der rechten Maustaste auf das Element.
- Wählen Element prüfen aus dem Rechtsklick-Menü. Ihr Browser öffnet ein Panel, das den HTML-Code der Webseite anzeigt. Das relevante HTML-Element wird im Code hervorgehoben.
- Klicken Sie im Bedienfeld „Element prüfen“ mit der rechten Maustaste auf das hervorgehobene Element im HTML-Code.
- Klicken XPath kopieren um die XPath-Adresse des Elements in Ihre Zwischenablage zu kopieren.
Da Sie nun alles haben, was Sie brauchen, ist es an der Zeit, IMPORTXML in Aktion zu sehen und ein paar Links zu sammeln.
Sie können IMPORTXML verwenden, um alle Arten von Daten von Websites zu extrahieren. Dazu gehören Links, Videos, Bilder und fast jedes Element der Website. Links sind eines der wichtigsten Elemente in der Webanalyse, und Sie können viel über eine Website erfahren, indem Sie einfach die Seiten analysieren, auf die sie verlinkt.
Mit IMPORTXML können Sie schnell Links in Google Sheets durchsuchen und diese dann mithilfe der verschiedenen Funktionen, die Google Sheets bietet, weiter analysieren.
Um alle Links von einer Webseite zu entfernen, können Sie die folgende Formel verwenden:
=IMPORTXML(url, "//a/@href")
Diese XPath-Abfrage wählt alle aus href Attribute von A Elemente, wodurch effektiv alle Links auf der Seite extrahiert werden.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
Die obige Formel entfernt alle Links in einem Wikipedia-Artikel.
Es empfiehlt sich, die URL der Webseite in eine separate Zelle einzugeben und dann auf diese Zelle zu verweisen. Dadurch wird verhindert, dass Ihre Formel zu lang und unhandlich wird. Das Gleiche können Sie mit der XPath-Abfrage tun.
2. Scraping aller Linktexte
Um den Text der Links zusammen mit ihren URLs zu extrahieren, können Sie Folgendes verwenden:
=IMPORTXML(url, "//a")
Diese Abfrage wählt alle Elemente aus und Sie können den Linktext und die URLs aus den Ergebnissen extrahieren.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
Die obige Formel ruft die Linktexte im selben Wikipedia-Artikel ab.
Manchmal müssen Sie möglicherweise bestimmte Links anhand von Kriterien durchsuchen. Beispielsweise könnten Sie daran interessiert sein, Links zu extrahieren, die ein bestimmtes Schlüsselwort enthalten, oder Links, die sich in einem bestimmten Abschnitt der Seite befinden.
Mit den richtigen XPath-Kenntnissen können Sie jedes gesuchte Element lokalisieren.
Um Links zu entfernen, die ein bestimmtes Schlüsselwort enthalten, können Sie die XPath-Funktion enthält() verwenden:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
Diese Abfrage wählt href-Attribute von Elementen aus, bei denen die href das angegebene Schlüsselwort enthält.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
Die obige Formel entfernt alle Links, die das Wort „record“ in ihrem Text innerhalb eines Wikipedia-Beispielartikels enthalten.
Um Links aus einem bestimmten Abschnitt einer Seite zu entfernen, können Sie den XPath des Abschnitts angeben. Zum Beispiel:
=IMPORTXML(url, "//div[@class='section']//a/@href")
Diese Abfrage wählt href-Attribute von Elementen innerhalb von div-Elementen mit der Klasse „section“ aus.
In ähnlicher Weise wählt die folgende Formel alle Links innerhalb der div-Klasse aus, die über die mw-content-container-Klasse verfügen:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")
Es ist erwähnenswert, dass Sie IMPORTXML für mehr als nur Web Scraping verwenden können. Sie können dazu die IMPORT-Funktionsfamilie verwenden Importieren Sie Datentabellen von Websites in Google Sheets.
Obwohl Google Sheets und Excel die meisten ihrer Funktionen teilen, ist die IMPORT-Funktionsfamilie einzigartig für Google Sheets. Sie müssen andere Methoden in Betracht ziehen Importieren Sie Daten von Websites nach Excel.
Vereinfachen Sie Web Scraping mit Google Sheets
Web Scraping mit Google Sheets und der IMPORTXML-Funktion ist eine vielseitige und leicht zugängliche Möglichkeit, Daten von Websites zu sammeln.
Wenn Sie XPath beherrschen und wissen, wie man effektive Abfragen erstellt, können Sie das volle Potenzial von IMPORTXML ausschöpfen und wertvolle Erkenntnisse aus Webressourcen gewinnen. Beginnen Sie also mit dem Scraping und bringen Sie Ihre Webanalyse auf die nächste Stufe!