Daten und Ressourcen aus HTML extrahieren
Aspose.HTML for Java
lädt HTML aus einer Datei, URL, Zeichenfolge oder einem Stream in ein HTMLDocument. Java-Anwendungen können das DOM untersuchen, Elemente auswählen, Text und Attribute lesen, relative URLs auflösen und benötigte Werte oder verknüpfte Ressourcen speichern.
Verwenden Sie DOM-Methoden, CSS-Selektoren oder XPath-Ausdrücke, wenn die gesuchten Informationen Teil der Dokumentstruktur sind. Verweist ein Element auf ein Bild, eine SVG-Datei, ein Stylesheet oder eine andere Ressource, lösen Sie die URL auf und laden Sie die Daten über den Netzwerkdienst herunter. Dadurch bleiben HTML-Analyse und Ressourcenabruf getrennt, und die Anwendung extrahiert nur die tatsächlich benötigten Daten.
Aufgabe für die Datenextraktion auswählen
Wählen Sie ein passendes Beispiel für den gewünschten Inhalt oder die benötigte Ressource.
Bildelemente finden, relative Quell-URLs auflösen und die ursprünglichen Bilddateien speichern.
Eingebettetes SVG-Markup speichern und externe SVG-Ressourcen einer HTML-Seite herunterladen.
Eine bekannte Ressourcen-URL anfordern, die Antwort prüfen und die empfangenen Daten lokal speichern.
Links aus HTML in Java extrahieren
Das Beispiel lädt eine HTML-Seite, liest das href jedes Links, löst relative Verweise anhand der Dokument-URL auf und schreibt eindeutige HTTP- und HTTPS-Links in output/links.txt. Das gleiche Auswahlprinzip lässt sich auf Text, Metadaten, Formularwerte oder Ressourcenattribute anwenden.
Links aus HTML in Java extrahieren
Path outputPath = Paths.get("output", "links.txt");
Files.createDirectories(outputPath.getParent());
try (HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/java/")) {
HTMLCollection anchors = document.getElementsByTagName("a");
Set<String> links = new LinkedHashSet<>();
Iterator<Element> iterator = anchors.iterator();
while (iterator.hasNext()) {
Element anchor = iterator.next();
String href = anchor.getAttribute("href");
if (href.isEmpty()) {
continue;
}
Url linkUrl = new Url(href, document.getBaseURI());
String protocol = linkUrl.getProtocol();
if ("http:".equals(protocol) || "https:".equals(protocol)) {
links.add(linkUrl.getHref());
}
}
Files.write(outputPath, links, StandardCharsets.UTF_8);
}
Links aus HTML extrahieren
- Laden Sie das Quelldokument mit der Klasse
HTMLDocument. - Wählen Sie Linkelemente mit
getElementsByTagName("a")aus. - Lesen Sie das Attribut
hrefjedes Elements und überspringen Sie leere Werte. - Lösen Sie relative Verweise mit der Klasse
Urlund der Basis-URI des Dokuments auf. - Behalten Sie HTTP- und HTTPS-Links, entfernen Sie Duplikate und speichern Sie die Sammlung in einer Textdatei.
HTML-Daten mit DOM, CSS-Selektoren oder XPath finden
Wählen Sie die Suchmethode passend zur Struktur des Quelldokuments:
- DOM-Sammlungen – verwenden Sie
getElementsByTagName(), wenn alle Elemente mit einem bekannten Tag benötigt werden. - CSS-Selektoren – verwenden Sie
querySelector()für den ersten Treffer oderquerySelectorAll()für alle Elemente, die einem CSS-Selektor entsprechen. - XPath – verwenden Sie XPath-Ausdrücke, wenn die Auswahl von der Dokumenthierarchie, Attributen oder Textbedingungen abhängt und sich nur umständlich als CSS-Selektor formulieren lässt.
- Ressourcen-URLs – lesen Sie Attribute wie
srcoderhref, lösen Sie sie anhand der Basis-URI des Dokuments auf und laden Sie nur die von der Anwendung benötigten Dateien herunter.
Beispiele für DOM, CSS-Selektoren und XPath finden Sie unter HTML-Navigation . Ressourcenbezogene Beispiele enthält die Dokumentation zur Datenextraktion .
Häufig gestellte Fragen
1. Kann Aspose.HTML for Java ausgewählte Daten extrahieren, ohne die vollständige Webseite zu speichern?
Ja. Laden Sie die Quelle in ein HTMLDocument, wählen Sie nur die benötigten Knoten aus und speichern Sie deren Text, Attribute oder verknüpfte Ressourcen. Eine vollständige Kopie der Seite ist nicht erforderlich.
2. Wie lassen sich nur bestimmte HTML-Elemente in Java extrahieren?
Verwenden Sie getElementsByTagName() für einen bekannten Tag, querySelector() oder querySelectorAll() für CSS-basierte Abfragen und XPath, wenn die Auswahl von Dokumenthierarchie, Attributen oder Textbedingungen abhängt.
3. Kann Aspose.HTML for Java Zeilen und Zellen aus HTML-Tabellen extrahieren?
Ja. Wählen Sie die Elemente table, tr, th und td über das DOM aus und übertragen Sie deren Text und Attribute anschließend in die von der Java-Anwendung benötigte Datenstruktur.
4. Ist Aspose.HTML for Java für die Datenextraktion kostenlos?
Aspose.HTML for Java ist eine kommerzielle Bibliothek. Vor dem Kauf können Sie eine Evaluierungsversion herunterladen und eine temporäre Lizenz anfordern, um die Datenextraktion ohne Einschränkungen des Evaluierungsmodus zu testen.
Aspose.HTML for Java installieren
Fügen Sie Aspose.HTML for Java aus dem offiziellen Aspose-Repository hinzu. Ersetzen Sie ASPOSE_HTML_VERSION durch eine genaue Versionsnummer von der Seite
Aspose.HTML for Java-Releases
und laden oder erstellen Sie das Projekt anschließend neu, damit die Abhängigkeit aufgelöst wird.
Fügen Sie das Repository und die Abhängigkeit zum Maven-Projekt hinzu:
Maven – pom.xml
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>ASPOSE_HTML_VERSION</version>
</dependency>
</dependencies>Fügen Sie das Repository und die Abhängigkeit zum Gradle-Projekt hinzu:
Gradle – build.gradle
repositories {
maven {
url = uri('https://releases.aspose.com/java/repo/')
}
}
dependencies {
implementation 'com.aspose:aspose-html:ASPOSE_HTML_VERSION'
}Verwenden Sie ein JDK, das mit dem ausgewählten Release kompatibel ist. Hinweise zur manuellen JAR-Installation, Kotlin DSL, Updates und zur Fehlerbehebung bei Abhängigkeiten finden Sie unter Aspose.HTML for Java installieren .
Weitere Aufgaben mit Aspose.HTML for Java
Weitere Java-Anleitungen zum Erstellen, Konvertieren, Zusammenführen und Verarbeiten von HTML-Dokumenten.