stepAPI-Connector-Tools Skip to content

HTMLParser

Mit dem HTMLParser Step kann man einzelne Elemente aus HTML-Code extrahieren. 

Beispiel

Sie wollen aus diesem HTML-Fragment alle URLs aller Links auszulesen (in diesem Fall nur ein einzelner Link).

<div id="somediv"><a id="link" href="http://example.com">My Link</a></div>

Dazu ist folgender parsingCode notwendig:

<#list selectHTML("a") as e>
${e.attr("href")!}
</#list>
  • selectHTML() ist eine Synesty-eigene Funktion, die als Parameter einen CSS-Ausdruck erhält, und alle passenden Elemente als sog. Elements-Objekt (quasi eine Liste aller gefundenen HTML-Elemente) zurückgibt. In diesem Fall werden alle Links (<a> Tags) selektiert.
  • Das Ergebnis ist ein sog. Elements-Objekt des verwendeten JSOUP-Frameworks, womit auf die Element zugegriffen werden kann.
  • Über diese Liste wird mit <#list> iteriert und aus jedem a-Tag wird das href Attribut ausgelesen.
  • Weitere Informationen zum Selektieren der Elemente unter http://jsoup.org/cookbook/extracting-data/selector-syntax

Ergebnis

Inputs

Das sind die Optionen, mit denen man den Step konfigurieren kann.

Name Datentyp Beschreibung Pflichtfeld Werte
input STRING Der String, der den HTML-Inhalt enthält. Ja
processingTemplate STRING Parsing-Skript in Freemarker-Syntax zur Verarbeitung der extrahierten Elemente. Verwenden Sie die Freemarker-Funktion selectHTML(cssSelector) zur Auswahl von Elementen (z. B. selectHTML('a') zur Auswahl aller Links). Siehe Dokumentation zur Auswahl von Elementen: http://jsoup.org/cookbook/extracting-data/selector-syntax Ja
baseUri STRING Eine Url, die allen relativen Links auf der HTML-Seite vorangestellt wird, um den richtigen absoluten Link zu erhalten. Nein

Outputs

Das sind die Ergebnisse des Steps, die von nachfolgenden Steps, nach der Ausführung verwendet werden können.

Name Datentyp Beschreibung Pflichtfeld Werte
output STRING Das Ergebnis der Verarbeitung. Ja