XPath Screaming Frog Custom Extraction

Start > SEO Blog > XPath Screaming Frog Custom Extraction
Interesse?
Rufen Sie an
0351 31446588

oder schreiben Sie
  30. Juli 2024

XPath ist eine Abfragesprache, um Teile von XML-Dateien zu adressieren und auszuwerten. XPath kann beim SEO Spider Screaming Frog genutzt werden: Individuelle XPath-Filter ermöglichen vielseitige Analysen im HTML-Code. In diesem Blog-Beitrag stelle ich hilfreiche XPath-Filter vor, die man direkt im Screaming Frog verwenden kann.

XPath Custom Extraction 2 - Header

Mit dem Screaming Frog SEO Spider kann man HTML-Code und Textinhalte extrahieren. Die Crawl-Software besitzt eine Custom Search-Funktion für einfache Textsuchen. Doch viel mächtiger sind die Custom Extraction-Funktionen, mit denen ausgewählte Elemente von internen HTML-Seiten extrahiert werden können. Der SEO-Spider unterstützt die folgenden Modi zur Datenextraktion: »XPath«, »CSS Path« und »Regex«.

XPath Custom Extraction-Filter erstellen

  1. Screaming Frog SEO Spider (Lizenziert) öffnen
  2. Im Menü »Configuration« > »Custom« > »Extraction« auswählen
  3. Nun können individuelle XPath Custom Extraction-Filter erstellt werden

Wenn man »XPath« oder »CSS Path« verwendet, kann man auswählen, was extrahiert werden soll:

Abfrage Ausgabe
Extract Inner HTML Der HTML-Inhalt des ausgewählten Elements.
Extract HTML Element Das ausgewählte Element und dessen HTML-Inhalt.
Extract Text Der Textinhalt des ausgewählten Elements, sowie der Textinhalt aller Unterelemente.
Function Value Das Ergebnis der angegebenen Funktion, z. B. count(//h1), um die Anzahl der h1-Tags auf einer Seite zu ermitteln.
XPath Custom Extraction Beispiel // Screaming Frog
XPath Custom Extraction Beispiel // Screaming Frog

Allgemeine XPath-Beispiele

XPath Custom Extraction Beschreibung
//h1 Alle H1 Headlines
/descendant::h3[1] Die erste H3 Headline einer Seite ( [1] beschränkt das Ergebnis auf den ersten gefundenen Treffer)
/descendant::h3[position() >= 0 and position() <= 5] Die ersten fünf H3 Headlines einer Seite
//div/span Alle span-Elemente, die sich in einem div-Container befinden
//@href Alle Links in einem Dokument ( @ bestimmt ein Attribut)
//*[@class='underline'] Alle Elemente mit der Klasse „underline“ ( * bestimmt eine Wildcard)
//ul/li[1] Das erste Listenelement (li) einer ungeordneten Liste (ul) ( [1] beschränkt das Ergebnis auf den ersten gefundenen Treffer)
//ul/li[last()] Das letzte Listenelement (li) einer ungeordneten Liste (ul)
//ul[@class='big-list']/li Alle Listenelemente (li) einer ungeordneten Liste (ul) mit der Klasse „big-list“
//a[contains(@class, 'ajax')] Alle Links mit der Klasse „ajax“
//a[contains(., 'Weiterlesen')]/@href Alle Zielseiten mit dem Linktext „Weiterlesen“
//h1[contains(., '2018')] Alle H1 Headlines die „2018“ enthalten
//meta[(@name|@content)] Meta Tags mit dem Attribut „name“ oder „content“ ( | entspricht dem Operator „oder“)
//a[starts-with(@href, 'mailto')] Alle verlinkten (unverschlüsselten) E-Mail-Adressen
//iframe/@src Alle iFrames-URLs
//div[@class="main-section"]//a Alle Linktexte (Extract Inner HTML) der Links im div-Container mit der Klasse „main-section“
//div[@class="main-section"]//a/@href Alle URLs (Extract Inner HTML) der Links im div-Container mit der Klasse „main-section“
//div[@class="main-section"]//a HTML Quellode der Links (Extract HTML Element) im div-Container mit der Klasse „main-section“
//html/@lang Attribute der Seitensprache ausgeben, zum Beispiel von: <html lang=“de-DE“>

XPath-Beispiele für SEO-Filter

XPath Custom Extraction Beschreibung
//div[contains(@class,'main-content')]//a[.='click here'] Alle Linkelemente mit dem Linktext „click here“ die sich in einem div-Container mit der Klasse „main-content“ befinden
//div[contains(@class,'main-content')]//a[@href='url'] Alle Linkelemente mit einer exakten Ziel-URL die sich in einem div-Container mit der Klasse „main-content“ befinden
(//*[@hreflang]) Alle hreflang-Anmerkungen
(//*[@hreflang])[1]
(//*[@hreflang])[2]
(//*[@hreflang])[3]
Die erste hreflang-Anmerkung im HTML Quellcode (Werden mehrere hreflang-Anmerkungen auf einer Seite verwendet, müssen weitere Filter gesetzt werden: … [2]; … [3], usw.)
//*[@hreflang]/@hreflang Alle hreflang-Werte (Sprache-Region)
//head/link[@rel='amphtml']/@href Alle AMP-URLs

XPath-Beispiele für Strukturdaten-Filter

XPath Custom Extraction Beschreibung
//meta[starts-with(@property, 'og:title')]/@content Open Graph Title (Facebook)
//meta[starts-with(@property, 'og:description')]/@content Open Graph Description (Facebook)
//meta[starts-with(@property, 'og:image')]/@content URL des Open Graph Image (Facebook)
//meta[@name='twitter:title']/@content Twittercard Title
//meta[@name='twitter:description']/@content Twittercard Description
//meta[@name='twitter:image']/@content Twittercard Image
//*[@itemtype]/@itemtype Extrahieren aller Arten von Schema-Markups einer Seite
//*[@itemprop='streetAddress'] schema.org Strukturdaten für „streetAdress“
//*[@itemprop='addressLocality'] schema.org Strukturdaten für „addressLocality“
//*[@itemprop='addressRegion'] schema.org Strukturdaten für „addressRegion“
//*[@itemprop='name']/@content Produktname extrahieren
//*[@itemprop='description']/@content Produktbeschreibung extrahieren
//*[@itemprop='price']/@content Produktpreis extrahieren

XPath testen mit Scraper

Um XPath-Filter zu testen, empfehle ich die Scraper Chrome-Extension aus dem chrome web store. Nach der Installation öffnet man Webseite, dann Rechtsklick und „Scrape Similiar“ wählen. Hier kann man verschiedene Filter testen, bevor man sie im Screaming Frog vor dem Crawl der Website einfügt.

Scraper Chrome Extension - XPath
Scraper Chrome Extension – XPath

Optional: Beispiele für Regex-Filter

XPath Custom Extraction Beschreibung
["'](UA-.*?)["'] Google Analytics ID der URL extrahieren
["'](GTM-.*?)["'] Google Tag Manager ID der URL extrahieren
Screaming Frog Regex-Beispiele
Screaming Frog Regex-Beispiele

Weiterführende Literatur

  30. Juli 2024   Jens Fröhlich  

Kommentare(3)

  • Marvin
    31. Oktober 2019, 09:56  Antworten

    Danke für die gute Übersicht! Sind gerade dabei, URLs auf Basis von Artikelnummern mit dem Screaming-Frog zu filtern. Funktioniert damit sehr gut! 🙂

  • Rico
    3. Dezember 2022, 12:26  Antworten

    Hi,

    danke für den hilfreichen Beitrag. Ich komme grad nicht weiter.

    Wie müsste eine xpath aussehen, die Links mit einem bestimmten Ankertext nur aus einer Tabelle anzeigt?

    //table/a[contains(., ‚Weiterlesen‘)]/@href

    Funktioniert leider nicht – wo ist mein Denkfehler?

    Danke im Voraus

    • Jens Fröhlich
      16. Mai 2023, 10:38

      Hallo Rico,

      danke für Deine Nachfrage. Probiere es mal damit:

      Beste Grüße
      Jens

Kommentar verfassen

DSGVO Cookie Consent mit Real Cookie Banner