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 |