🌐 Web ScrapingPro Plan

SCRAPE_BY_CSS_PATH

Extrahiere Inhalte von einer Webseite mit einem CSS-Selektor.

Formelsignatur
=SCRAPE_BY_CSS_PATH(url, selector, [attribute], [renderJs])

Gibt zurück: string or 2D array (multiple matches returned as separate rows)

Übersicht

SCRAPE_BY_CSS_PATH extrahiert Inhalte von jeder Webseite mithilfe von Standard-CSS-Selektoren, derselben Abfragesyntax, die Webentwickler zum Stylen von HTML-Elementen verwenden. Richte es auf eine URL, gib einen CSS-Selektor wie ".price", "#title" oder "h1" an, und es gibt den übereinstimmenden Textinhalt direkt in dein Spreadsheet zurück. Wenn mehrere Elemente mit dem Selektor übereinstimmen, wird jedes Ergebnis als separate Zeile zurückgegeben, sodass du problemlos ganze Listen von Produkten, Links oder Datenpunkten in einem einzigen Aufruf extrahieren kannst.

Parameter

ParameterTypErforderlichBeschreibung
urlstringJaDie vollständige URL der zu scrapenden Webseite (muss https:// oder http:// enthalten).
selectorstringJaCSS-Selektor, der auf die zu extrahierenden Elemente abzielt. Unterstützt Standard-CSS-Syntax einschließlich Klassen (.class), IDs (#id), Elementen (h1), Attributen ([data-price]), Kombinatoren (div > p) und Pseudo-Selektoren (li:first-child).
attributestringNeinOptionales HTML-Attribut, das anstelle des Textinhalts extrahiert werden soll. Häufige Werte: "href" (Link-URLs), "src" (Bild-/Script-Quellen), "alt" (Bild-Alternativtext), "data-*" (benutzerdefinierte Datenattribute), "content" (Meta-Tag-Werte).
renderJsbooleanNeinOptional. Auf TRUE setzen, um JavaScript vor dem Scraping zu rendern. Erforderlich für Single-Page-Anwendungen und dynamisch geladene Inhalte. Langsamer und verbraucht mehr Credits als der Standardmodus.

Beispiele

1

Hauptüberschrift einer Seite extrahieren

Gibt den Textinhalt des ersten h1-Elements auf der Seite zurück. Nützlich, um schnell Seitentitel über eine Liste von URLs zu überprüfen.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "h1")

Ausgabe

Example Domain
2

Alle Navigations-Link-URLs abrufen

Extrahiert das href-Attribut von jedem Anker-Tag innerhalb eines nav-Elements. Gibt mehrere Zeilen zurück, wenn mehrere Links vorhanden sind.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "nav a", "href")

Ausgabe

/about
/products
/blog
/contact
3

Produktpreise von einer E-Commerce-Seite scrapen

Zielt auf Preiselemente ab, die in Produktkarten verschachtelt sind. Gibt alle übereinstimmenden Preise als separate Zeilen zum einfachen Vergleichen zurück.

fx
=SCRAPE_BY_CSS_PATH("https://store.example.com/shoes", ".product-card .price")

Ausgabe

$89.99
$129.00
$64.50
$199.99
4

Meta-Description für SEO-Audit extrahieren

Verwendet einen Attribut-Selektor, um das Meta-Description-Tag zu finden und sein content-Attribut zu extrahieren. Unverzichtbar für SEO-Audits im großen Maßstab.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "meta[name='description']", "content")

Ausgabe

This is the meta description of the example page.
5

JavaScript-gerenderte Produktlisten scrapen

Aktiviert JavaScript-Rendering zum Scrapen einer Single-Page-Anwendung. Der leere dritte Parameter überspringt das Attribut-Argument, und TRUE aktiviert den Headless-Browser.

fx
=SCRAPE_BY_CSS_PATH("https://spa-store.example.com", ".item-title", , TRUE)

Ausgabe

Wireless Headphones
USB-C Hub
Laptop Stand

Anwendungsfälle

E-Commerce

Wettbewerber-Preisüberwachung

Richte ein Spreadsheet ein, das täglich Wettbewerber-Produktseiten mithilfe von CSS-Selektoren scrapt, die auf Preiselemente abzielen. Verfolge Preistrends im Zeitverlauf und erhalte Benachrichtigungen, wenn Wettbewerber ihre Preisstrategie ändern.

Digitales Marketing

SEO-Titel- und Meta-Tag-Audit

Prüfe Hunderte von Seiten, indem du ihre Title-Tags, Meta-Descriptions und Überschriftenstrukturen mit CSS-Selektoren scrapst. Identifiziere fehlende oder doppelte Meta-Daten, zu lange Titel und Seiten ohne ordnungsgemäße Überschriftenhierarchie.

Recruiting

Stellenanzeigen-Aggregation

Scrape Jobbörsen und Karriereseiten von Unternehmen, um Stellenanzeigen in einem einzigen Spreadsheet zu aggregieren. Extrahiere Stellentitel, Standorte, Gehaltsspannen und Bewerbungslinks mit gezielten CSS-Selektoren für jeden Datenpunkt.

Immobilien

Verfolgung von Immobilienanzeigen

Überwache Immobilien-Listing-Sites, indem du Preise, Adressen, Quadratmeterzahlen und Anzeigendaten scrapst. Erstelle ein umfassendes Marktanalyse-Spreadsheet, das sich mit aktuellen Bestands- und Preisdaten aktualisiert.

Forschung

Akademische Forschungsdatenerfassung

Sammle strukturierte Daten aus Forschungsdatenbanken, Regierungsportalen und institutionellen Websites. Scrape Publikationstitel, Autorennamen, Daten und Abstracts in organisierte Spreadsheets für Literaturrecherchen.

Markenmanagement

Social Proof und Review-Monitoring

Verfolge Produktbewertungen und Ratings über mehrere Plattformen hinweg, indem du Bewertungsscores, Bewertungsanzahlen und Sternebewertungen scrapst. Aggregiere Daten über Amazon, G2, Trustpilot und branchenspezifische Review-Sites hinweg.

Profi-Tipps

TIPP

Verwende die "Copy selector"-Funktion der Browser-DevTools als Ausgangspunkt, aber vereinfache den Selektor, um ihn widerstandsfähiger gegen Seitenänderungen zu machen. Ein Selektor wie ".product-price" ist stabiler als "div.container > div:nth-child(3) > span.product-price".

TIPP

Kombiniere mit ARRAYFORMULA, um denselben Selektor über mehrere in einer Spalte aufgelistete URLs zu scrapen. Zum Beispiel extrahiert =ARRAYFORMULA(SCRAPE_BY_CSS_PATH(A2:A10, "h1")) das h1 von jeder URL in den Zellen A2 bis A10.

TIPP

Beim Scraping von E-Commerce-Sites ziele auf Datenattribute wie [data-price] oder [data-product-id] anstelle von visuellen Elementen, da Datenattribute stabiler sind und sauberere Werte enthalten.

TIPP

Teste deinen CSS-Selektor zuerst in der Browser-Konsole mit document.querySelectorAll("dein-selektor"), um zu überprüfen, ob er die richtigen Elemente auswählt, bevor du ihn im Spreadsheet verwendest.

TIPP

Für Seiten, die Inhalte in Etappen laden, wartet die renderJs-Option auf das anfängliche Seitenlade-Event. Wenn Inhalte nach zusätzlichen Benutzerinteraktionen (wie dem Klicken auf eine "Mehr laden"-Schaltfläche) geladen werden, werden sie möglicherweise nicht erfasst.

Standardmäßig gibt die Funktion den sichtbaren Textinhalt der übereinstimmenden Elemente zurück. Optional kannst du einen Attributparameter angeben, um stattdessen bestimmte HTML-Attribute zu extrahieren, wie "href" für Link-URLs, "src" für Bildquellen oder beliebige benutzerdefinierte Datenattribute. Das macht sie unglaublich vielseitig für Aufgaben wie das Erstellen von Link-Inventaren, das Sammeln von Bild-URLs oder das Extrahieren strukturierter Datenattribute.

Für moderne Websites, die stark auf JavaScript angewiesen sind, um ihre Inhalte darzustellen (Single-Page-Anwendungen, React/Vue/Angular-Sites, dynamisch geladene Produktkataloge), aktiviere den renderJs-Parameter. Dies weist den Scraper an, einen Headless-Browser zu verwenden, der JavaScript vollständig ausführt, bevor Inhalte extrahiert werden, um sicherzustellen, dass du Daten erfasst, die sonst im rohen HTML-Quellcode unsichtbar wären. Beachte, dass JavaScript-Rendering langsamer ist und mehr Credits verbraucht, aktiviere es also nur, wenn der Standardmodus leere oder unvollständige Ergebnisse zurückgibt.

SCRAPE_BY_CSS_PATH ist ideal für SEO-Audits, Wettbewerbsanalysen, Preisüberwachung, Content-Aggregation und jeden Workflow, bei dem du strukturierte Daten aus dem Web in Google Sheets ziehen musst, ohne Code zu schreiben.

Häufige Fehler

No matches found

Ursache: Der CSS-Selektor stimmt mit keinem Element auf der Seite überein. Dies geschieht häufig, wenn der Seiteninhalt über JavaScript geladen wird, aber renderJs nicht aktiviert ist, oder der Selektor einen Tippfehler hat.

Lösung: Überprüfe, ob der Selektor in der Browser-DevTools-Konsole mit document.querySelectorAll("dein-selektor") funktioniert. Wenn Elemente im Browser existieren, die Funktion aber nichts zurückgibt, aktiviere renderJs, indem du den vierten Parameter auf TRUE setzt.

Error: URL and selector are required

Ursache: Einer oder beide erforderlichen Parameter (url und selector) sind leer oder fehlen.

Lösung: Stelle sicher, dass sowohl die URL als auch der CSS-Selektor angegeben sind. Die URL muss eine vollständige Adresse einschließlich des Protokolls (https:// oder http://) sein. Überprüfe, dass Zellbezüge nicht auf leere Zellen verweisen.

Error: Failed to fetch URL

Ursache: Die Ziel-Website hat die Anfrage blockiert, die URL ist ungültig, der Server ist ausgefallen, oder es ist ein Netzwerk-Timeout aufgetreten.

Lösung: Überprüfe, ob die URL in deinem Browser zugänglich ist. Einige Websites blockieren automatisierte Anfragen; versuche eine andere Seite auf derselben Site. Überprüfe, dass die URL das Protokoll (https://) enthält. Wenn die Site JavaScript erfordert, versuche renderJs zu aktivieren.

Häufig Gestellte Fragen

Öffne die Ziel-Webseite in Chrome oder Firefox, klicke mit der rechten Maustaste auf das Element, das du scrapen möchtest, und wähle "Untersuchen" oder "Element untersuchen". Dies öffnet die Browser-Entwicklertools mit dem hervorgehobenen HTML-Element. Du kannst mit der rechten Maustaste auf das hervorgehobene Element im Elements-Panel klicken und "Copy > Copy selector" wählen, um einen automatisch generierten CSS-Selektor zu erhalten. Für zuverlässigere Selektoren suche nach eindeutigen Klassennamen oder IDs auf dem Element. Wenn du beispielsweise <div class="product-price">29,99 €</div> siehst, wäre dein Selektor ".product-price". Vermeide zu spezifische automatisch generierte Selektoren mit vielen verschachtelten Elementen, da diese leicht brechen, wenn sich das Seitenlayout ändert.

Standardmäßig gibt SCRAPE_BY_CSS_PATH den sichtbaren Textinhalt des übereinstimmenden Elements zurück, also das, was ein Benutzer auf der Seite sieht. Wenn du einen Attributparameter angibst, extrahiert es stattdessen den Wert dieses HTML-Attributs. Zum Beispiel würde ein Anker-Tag <a href="https://example.com" class="link">Hier klicken</a> ohne Attribut "Hier klicken" zurückgeben, aber "https://example.com" zurückgeben, wenn du das Attribut auf "href" setzt. Häufige Attribute sind "href" für Links, "src" für Bilder, "alt" für Bildbeschreibungen, "content" für Meta-Tags und beliebige "data-*" benutzerdefinierte Attribute.

Aktiviere renderJs, wenn der Inhalt, den du scrapen möchtest, dynamisch über JavaScript geladen wird. Anzeichen dafür, dass du es benötigst, sind: Die Funktion gibt leere Ergebnisse oder "Keine Übereinstimmungen gefunden" zurück, obwohl du den Inhalt in deinem Browser sehen kannst; die Website ist eine Single-Page-Anwendung, die mit React, Vue, Angular oder ähnlichen Frameworks erstellt wurde; der Inhalt lädt nach dem Scrollen oder nach einer Verzögerung; oder die Seite zeigt einen Lade-Spinner, bevor Inhalte erscheinen. Der Standardmodus ist schneller und günstiger, also versuche es zuerst ohne renderJs und aktiviere es nur bei Bedarf.

Jeder Aufruf von SCRAPE_BY_CSS_PATH zielt auf einen CSS-Selektor ab, aber dieser Selektor kann mit mehreren Elementen desselben Typs übereinstimmen (alle werden als Zeilen zurückgegeben). Um verschiedene Arten von Elementen zu scrapen (z. B. sowohl Titel als auch Preise), führe separate Funktionsaufrufe mit unterschiedlichen Selektoren aus. Du kannst CSS-Selektoren mit Kommas kombinieren, um mehrere Elementtypen in einem Aufruf zu matchen, zum Beispiel ".title, .price", aber die Ergebnisse werden verschachtelt. Für strukturierte Datenextraktion, bei der du Titel mit ihren Preisen gepaart halten musst, verwende separate Spalten mit einem Selektor pro Spalte.

Die Funktion gibt bis zu 500 übereinstimmende Elemente pro Aufruf zurück. Wenn die Seite mehr als 500 übereinstimmende Elemente enthält, werden nur die ersten 500 zurückgegeben. Für die meisten Anwendungsfälle ist dies mehr als ausreichend. Wenn du Seiten mit extrem großen Mengen an Elementen scrapen musst, erwäge spezifischere CSS-Selektoren zu verwenden, um die Ergebnisse einzugrenzen, oder verwende Paginierungsparameter, wenn die Ziel-Website diese unterstützt.

SCRAPE_BY_CSS_PATH greift auf Seiten als anonymer Besucher ohne Cookies oder Sitzungsdaten zu. Es kann keine Inhalte hinter Login-Mauern, Paywalls oder Authentifizierungsbarrieren scrapen. Der Scraper unterstützt nicht das Senden von Cookies, Headern oder Anmeldeinformationen. Für authentifizierte Inhalte müsstest du eine öffentliche API für diesen Dienst finden oder eine alternative Datenquelle verwenden. Einige Websites bieten öffentliche JSON-APIs oder RSS-Feeds an, die die benötigten Daten ohne Authentifizierung bereitstellen können.

Der Scraper macht HTTP-Anfragen ähnlich einem Webbrowser und prüft oder erzwingt nicht automatisch robots.txt-Regeln. Du solltest jedoch die robots.txt-Datei und die Nutzungsbedingungen der Ziel-Website überprüfen und respektieren, bevor du scrapst. Übermäßiges Scraping kann dazu führen, dass deine IP blockiert wird. Verwende die Funktion verantwortungsvoll, vermeide Scraping mit hoher Frequenz und respektiere Ratenlimits. Unlimited Sheets wendet eigene Ratenbegrenzungen an, um Missbrauch zu verhindern.

SCRAPE_BY_CSS_PATH ist eine eigenständige Funktion, die in vielen Fällen die Notwendigkeit von IMPORTXML oder IMPORTHTML ersetzt. Im Gegensatz zu IMPORTXML verwendet sie CSS-Selektoren (die für die meisten Benutzer intuitiver sind) anstelle von XPath-Ausdrücken. Im Gegensatz zu IMPORTHTML kann sie jedes Element auf der Seite anzielen, nicht nur Tabellen und Listen. Du kannst SCRAPE_BY_CSS_PATH zusammen mit nativen Google Sheets-Funktionen im selben Spreadsheet ohne Konflikte verwenden.

Verwandte Funktionen

Beginnen Sie noch heute mit SCRAPE_BY_CSS_PATH

Installieren Sie Unlimited Sheets, um SCRAPE_BY_CSS_PATH und 41 weitere leistungsstarke Funktionen in Google Sheets zu erhalten.