Enregistrer un site ou une page web à l'aide de Java
Pourquoi enregistrer un site web en HTML ?
Pour garantir un accès ininterrompu au contenu important, il est utile de sauvegarder les sites web pour une utilisation hors ligne. La conversion d’un site web en HTML vous permet de consulter des pages sans connexion internet, que ce soit à des fins de recherche, d’éducation ou de divertissement. Vous pouvez enregistrer des pages web à des fins d’analyse, de création de sauvegardes ou d’apprentissage de la conception web et des modèles. L’enregistrement des pages web vous apporte flexibilité, contrôle et tranquillité d’esprit.
Cet article propose des méthodes pour enregistrer un site web à l’aide de l’API Aspose.HTML for Java. Vous pouvez personnaliser le processus – enregistrer un site web entier ou une page web.
Comment enregistrer une page web en Java
Vous pouvez utiliser la bibliothèque Aspose.HTML for Java pour enregistrer une page web au format HTML afin de la lire hors ligne sans aucun problème. Vous devez suivre les étapes suivantes :
- Utilisez le constructeur
HTMLDocument(
Url
) pour créer une instance de la classeHTMLDocument
en lui transmettant l’URL de la page web que vous souhaitez télécharger. - Préparez un chemin d’accès au fichier local où le contenu HTML sera enregistré.
- Appelez la méthode
save(
savePath
) ou save(savePath
,options
) pour enregistrer le document HTML téléchargé à l’emplacement spécifié.
Cet exemple Java montre comment enregistrer une page web en utilisant les options d’enregistrement par défaut. Par défaut, seule la page web spécifique et ses ressources connexes du même domaine sont sauvegardées. Les ressources provenant de domaines externes ne seront pas téléchargées.
1// Initialize an HTML document from a URL
2final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
3// Prepare a path to save the downloaded file
4String savePath = "root/result.html";
5
6// Save the HTML document to the specified file
7document.save(savePath);
Grâce à la fonctionnalité décrite dans cet article, vous pouvez enregistrer des pages individuelles et des sites web entiers avec des ressources. Pour personnaliser le processus d’enregistrement, vous pouvez spécifier les options de gestion des ressources pour l’objet HTMLSaveOptions.
Les classes HTMLSaveOptions et ResourceHandlingOptions vous permettent de personnaliser la manière dont les ressources, telles que les images, les feuilles de style CSS et les fichiers JavaScript, sont traitées lors de l’enregistrement d’un document HTML. Elles comprennent des propriétés permettant de définir le comportement par défaut en matière de gestion des ressources (telles que la préservation, l’ignorance ou l’intégration des ressources), de contrôler la gestion de JavaScript, de spécifier la profondeur maximale des pages liées à enregistrer et d’appliquer des restrictions d’URL à la fois aux pages et aux ressources. Ces classes permettent de contrôler finement la manière dont le contenu externe est géré au cours du processus d’enregistrement, ce qui permet d’adapter le comportement à différents besoins, tels que la préservation de sites web entiers ou l’extraction de ressources spécifiques.
Sauvegarder le site Web en utilisant setJavaScript()
La propriété
JavaScript définit comment les scripts JavaScript sont traités lors de l’enregistrement d’une page web. Les options incluent Save
, Ignore
, Discard
, et Embed
, avec la valeur par défaut de Save
. L’exemple Java suivant montre comment sauvegarder un site web et intégrer tous les JavaScripts à sauvegarder dans le document HTML qui en résulte.
Pour sauver le site web de l’URL, vous devez prendre les mesures suivantes :
- Utilisez le constructeur
HTMLDocument(
Url
) pour initialiser un document HTML à partir d’une URL spécifiée. - Créez une instance de la classe HTMLSaveOptions pour configurer le mode d’enregistrement du document.
- Modifiez la propriété
ResourceHandlingOptions
dansHTMLSaveOptions
pour définir le comportement de gestion de JavaScript. - Appelez la méthode
save(
savePath
,options
) pour enregistrer le document avec les paramètres souhaités.
Dans l’exemple suivant, l’option ResourceHandling.Embed
spécifie que toutes les ressources JavaScript doivent être intégrées directement dans le document HTML lorsqu’il est sauvegardé. Cela signifie qu’au lieu de créer un lien vers des fichiers .js
externes, le contenu JavaScript sera inclus dans le fichier HTML sauvegardé lui-même, garantissant que tous les scripts nécessaires sont contenus dans le même document pour un accès ou une distribution hors ligne. Cette approche élimine le besoin de références à des fichiers externes et contribue à préserver l’intégrité de la page web lorsqu’elle est transférée ou sauvegardée.
1// Initialize an HTML document from a URL
2final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
3
4// Create an HTMLSaveOptions object and set the JavaScript property
5HTMLSaveOptions options = new HTMLSaveOptions();
6options.getResourceHandlingOptions().setJavaScript(ResourceHandling.Embed);
7
8// Prepare a path to save the downloaded file
9String savePath = "rootAndEmbedJs/result.html";
10
11// Save the HTML document to the specified file
12document.save(savePath, options);
Sauvegarder le site Web en utilisant setMaxHandlingDepth()
La propriété MaxHandlingDepth définit la profondeur maximale de la hiérarchie des éléments du document HTML qui doit être chargée et traitée. En limitant cette profondeur, la propriété permet d’optimiser les performances, en réduisant la mémoire et la puissance de traitement nécessaires au cours du processus d’enregistrement. Par défaut, seul le document ouvert et ses ressources directes sont sauvegardés en tant que page web individuelle. La définition de cette propriété à 1 garantit que seuls les éléments jusqu’à une profondeur de 1 dans la hiérarchie HTML sont sauvegardés, y compris le document lui-même et les pages directement liées.
1// Load an HTML document from a URL
2final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
3
4// Create an HTMLSaveOptions object and set the MaxHandlingDepth property
5HTMLSaveOptions options = new HTMLSaveOptions();
6options.getResourceHandlingOptions().setMaxHandlingDepth(1);
7
8// Prepare a path for downloaded file saving
9String savePath = "rootAndAdjacent/result.html";
10
11// Save the HTML document to the specified file
12document.save(savePath, options);
Sauvegarder le site web en utilisant setPageUrlRestriction()
Aspose.HTML for Java offre plusieurs options de filtrage des URL de pages lors de l’enregistrement d’un site web. La propriété
PageUrlRestriction contrôle les pages web qui peuvent être chargées en fonction de leur URL ou de leur domaine au cours du processus d’enregistrement. Par défaut, cette propriété est définie sur RootAndSubFolders
, ce qui signifie que seules les pages de la racine et de ses sous-dossiers sont traitées. Vous pouvez modifier cette propriété pour appliquer d’autres restrictions si nécessaire.
Dans l’exemple suivant, toutes les pages référencées par le document HTML et les pages du même domaine seront sauvegardées en plus du document :
1// Initialize an HTML document from a URL
2final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
3
4// Create an HTMLSaveOptions object and set MaxHandlingDepth and PageUrlRestriction properties
5HTMLSaveOptions options = new HTMLSaveOptions();
6options.getResourceHandlingOptions().setMaxHandlingDepth(1);
7options.getResourceHandlingOptions().setPageUrlRestriction(UrlRestriction.SameHost);
8
9// Prepare a path to save the downloaded file
10String savePath = "rootAndManyAdjacent/result.html";
11
12// Save the HTML document to the specified file
13document.save(savePath, options);
Aspose.HTML propose un ensemble d’ applications Web HTML gratuites en ligne, notamment des convertisseurs, des fusionneurs, des outils de référencement, des générateurs de code HTML, des utilitaires d’URL, et bien d’autres encore. Ces outils basés sur un navigateur fonctionnent sur tous les systèmes d’exploitation et ne nécessitent aucune installation de logiciel supplémentaire. Que vous ayez besoin de convertir ou de fusionner des fichiers, d’extraire des données web, de générer du code HTML ou d’analyser des pages pour le référencement, vous pouvez le faire directement sur le web. Rationalisez vos tâches quotidiennes et augmentez votre productivité grâce à nos HTML Web Apps faciles à utiliser – à tout moment et en tout lieu.