Extraire des données et ressources HTML
Aspose.HTML for Java
charge du HTML depuis un fichier, une URL, une chaîne ou un flux dans un HTMLDocument. Les applications Java peuvent parcourir le DOM, sélectionner des éléments, lire du texte et des attributs, résoudre des URL relatives et enregistrer les valeurs requises ou les ressources liées.
Utilisez les méthodes du DOM, les sélecteurs CSS ou les expressions XPath lorsque les informations recherchées font partie de la structure du document. Lorsqu’un élément pointe vers une image, un fichier SVG, une feuille de style ou une autre ressource, utilisez l’URL résolue et le service réseau pour télécharger ses octets. L’analyse du HTML reste ainsi séparée de la récupération des ressources et la logique d’extraction se concentre sur les données nécessaires à l’application.
Choisir une tâche d’extraction de données en Java
Sélectionnez un exemple ciblé selon le type de contenu ou de ressource à récupérer.
Extraire les images d’un site web
Rechercher les éléments d’image, résoudre les URL de source relatives et enregistrer les fichiers référencés.
Extraire les SVG d’un site web
Enregistrer le balisage SVG en ligne et télécharger les ressources SVG externes référencées par une page HTML.
Télécharger un fichier depuis une URL
Interroger une URL de ressource connue, vérifier la réponse et écrire les octets reçus dans un fichier local.
Extraire des liens du HTML en Java
L’exemple charge une page HTML, lit l’attribut href de chaque lien, résout les références relatives par rapport à l’URL du document et écrit les liens HTTP et HTTPS distincts dans output/links.txt. Le même modèle de sélection peut être adapté au texte, aux métadonnées, aux valeurs de formulaire ou aux attributs de ressources.
Extraire des liens du HTML en Java
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);
}
Étapes pour extraire des liens du HTML
- Chargez la source avec la classe
HTMLDocument. - Sélectionnez les éléments de lien avec
getElementsByTagName("a"). - Lisez chaque attribut
hrefet ignorez les valeurs vides. - Résolvez les références relatives avec la classe
Urlet l’URI de base du document. - Conservez les liens HTTP et HTTPS, supprimez les doublons et enregistrez la collection dans un fichier texte.
Rechercher des données HTML avec le DOM, CSS ou XPath
Choisissez la méthode de sélection adaptée à la structure du document source :
- Collections DOM – utilisez
getElementsByTagName()lorsque tous les éléments portant une balise connue sont nécessaires. - Sélecteurs CSS – utilisez
querySelector()pour la première correspondance ouquerySelectorAll()pour tous les éléments correspondant à un sélecteur CSS. - XPath – utilisez des expressions XPath lorsque la sélection dépend de la hiérarchie, des attributs ou de conditions textuelles difficiles à exprimer avec un sélecteur CSS.
- URL de ressources – lisez des attributs tels que
srcouhref, résolvez-les par rapport à l’URI de base du document et demandez uniquement les fichiers nécessaires à l’application.
Consultez Navigation HTML pour des exemples sur le DOM, les sélecteurs CSS et XPath, ou ouvrez la documentation sur l’ extraction de données pour des exemples consacrés aux ressources.
Questions fréquentes sur l’extraction de données HTML
1. Aspose.HTML for Java peut-il extraire des données ciblées sans enregistrer la page web complète ?
Oui. Chargez la source dans un HTMLDocument, sélectionnez uniquement les nœuds requis et enregistrez leur texte, leurs attributs ou les ressources référencées. L’application n’a pas besoin de conserver une copie complète de la page.
2. Comment extraire uniquement certains éléments HTML en Java ?
Utilisez getElementsByTagName() pour une balise connue, querySelector() ou querySelectorAll() pour une recherche avec des sélecteurs CSS, ou XPath lorsque la sélection dépend de la hiérarchie du document, des attributs ou de conditions textuelles.
3. Aspose.HTML for Java peut-il extraire les lignes et cellules d’un tableau HTML ?
Oui. Sélectionnez les éléments table, tr, th et td dans le DOM, puis associez leur texte et leurs attributs à la structure de données requise par l’application Java.
4. Aspose.HTML for Java est-il gratuit pour l’extraction de données ?
Aspose.HTML for Java est une bibliothèque commerciale. Vous pouvez télécharger une version d’évaluation et demander une licence temporaire afin de tester l’extraction de données sans les limitations du mode d’évaluation avant l’achat.
Installer Aspose.HTML for Java
Ajoutez Aspose.HTML for Java depuis le dépôt officiel Aspose. Remplacez ASPOSE_HTML_VERSION par un numéro de version exact indiqué sur la page des
versions d’Aspose.HTML for Java
, puis rechargez ou reconstruisez le projet afin de résoudre la dépendance.
Ajoutez le dépôt et la dépendance au projet Maven :
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>Ajoutez le dépôt et la dépendance au projet Gradle :
Gradle – build.gradle
repositories {
maven {
url = uri('https://releases.aspose.com/java/repo/')
}
}
dependencies {
implementation 'com.aspose:aspose-html:ASPOSE_HTML_VERSION'
}Utilisez une version du JDK compatible avec la version sélectionnée. Pour l’installation manuelle du fichier JAR, Kotlin DSL, les mises à jour et la résolution des problèmes de dépendances, consultez Installer Aspose.HTML for Java .
Autres tâches avec Aspose.HTML for Java
Poursuivez avec des guides Java ciblés pour créer, convertir, fusionner et traiter des documents HTML.