Guardar un Sitio o Página Web – Aspose.HTML for Java
¿Por qué guardar una página web como HTML?
Para garantizar el acceso ininterrumpido a contenidos importantes, es útil guardar sitios web para utilizarlos sin conexión. Convertir un sitio web a HTML te da la posibilidad de ver páginas sin conexión a Internet, ya sea para investigación, educación o entretenimiento. Puedes guardar páginas web para analizarlas, crear copias de seguridad o aprender sobre diseño web y plantillas. Guardar páginas web te da flexibilidad, control y una sensación de tranquilidad.
Este artículo proporciona formas de guardar páginas web utilizando Aspose.HTML for Java API. Puede personalizar el proceso: guardar un sitio web completo o guardar una página web.
Cómo guardar una página web en Java
Puede utilizar Aspose.HTML for Java library para guardar una página web como HTML para leerla sin conexión y sin complicaciones. Debe seguir los siguientes pasos:
- Utilice el constructor
HTMLDocument(
Url
) para crear una instancia de la claseHTMLDocument
pasando la URL de la página web que desea descargar. - Prepare una ruta de archivo local donde se guardará el contenido HTML.
- Llama al método
save(
savePath
) o al método save(savePath
,options
) para guardar el documento HTML descargado en la ubicación especificada.
Este ejemplo Java demuestra cómo guardar una página web utilizando las opciones de guardado por defecto. Por defecto, sólo se guardan la página web específica y sus recursos relacionados del mismo dominio. Los recursos de dominios externos no se descargarán.
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);
Utilizando la funcionalidad descrita en este artículo, puede guardar tanto páginas individuales como sitios web completos con recursos. Para personalizar el proceso de guardado, puede especificar las opciones de manejo de recursos del objeto HTMLSaveOptions.
Las clases HTMLSaveOptions y ResourceHandlingOptions permiten personalizar cómo se gestionan los recursos, como imágenes, CSS y archivos JavaScript, al guardar un documento HTML. Incluye propiedades para establecer el comportamiento predeterminado en el manejo de recursos (como preservar, ignorar o incrustar recursos), controlar el manejo de JavaScript, especificar la profundidad máxima de las páginas enlazadas a guardar y aplicar restricciones de URL tanto a las páginas como a los recursos. Estas clases proporcionan un control detallado sobre cómo se gestiona el contenido externo durante el proceso de guardado, lo que permite adaptar el comportamiento a diferentes necesidades, como conservar sitios web completos o recuperar recursos específicos.
Guardar un sitio web utilizando setJavaScript()
La propiedad
JavaScript define cómo se gestionan los scripts JavaScript al guardar una página web. Las opciones incluyen Save
, Ignore
, Discard
y Embed
, con el valor predeterminado Save
. El siguiente ejemplo Java muestra cómo guardar la página web e incrustar todos los JavaScripts a guardar en el documento HTML resultante.
Para guardar un sitio web desde una URL debe seguir los siguientes pasos:
- Utilice el constructor
HTMLDocument(
Url
) para inicializar un documento HTML a partir de una URL especificada. - Cree una instancia de la clase HTMLSaveOptions para configurar cómo se guardará el documento.
- Modifique la propiedad
ResourceHandlingOptions
dentro deHTMLSaveOptions
para establecer el comportamiento de manejo para JavaScript. - Llame al método
save(
savePath
,options
) para guardar el documento con la configuración deseada.
En el siguiente ejemplo, la opción ResourceHandling.Embed
especifica que cualquier recurso JavaScript debe incrustarse directamente en el documento HTML cuando se guarde. Esto significa que en lugar de enlazar a archivos .js
externos, el contenido JavaScript se incluirá dentro del propio archivo HTML guardado, garantizando que todos los scripts necesarios estén contenidos en el mismo documento para su acceso o distribución sin conexión. Este enfoque elimina la necesidad de referencias a archivos externos y ayuda a preservar la integridad de la página web al transferirla o guardarla.
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);
Guardar página web utilizando setMaxHandlingDepth()
La propiedad MaxHandlingDepth define la profundidad máxima de la jerarquía de elementos del documento HTML que debe ser cargada y procesada. Al limitar esta profundidad, la propiedad ayuda a optimizar el rendimiento, reduciendo la memoria y la capacidad de procesamiento necesarias durante el proceso de guardado. Por defecto, sólo el documento abierto y sus recursos directos se guardan como una página web individual. Establecer esta propiedad a 1 garantiza que sólo se guarden los elementos hasta una profundidad de 1 en la jerarquía HTML, incluyendo el propio documento y las páginas directamente enlazadas.
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);
Guardar página web usando setPageUrlRestriction()
Aspose.HTML for Java ofrece varias opciones para filtrar las URLs de las páginas al guardar un sitio web. La propiedad
PageUrlRestriction controla qué páginas web pueden cargarse en función de sus URL o dominios durante el proceso de guardado. Por defecto, esta propiedad está establecida en RootAndSubFolders
, lo que significa que sólo se procesan las páginas de la raíz y sus subcarpetas. Puede cambiar esta propiedad para aplicar diferentes restricciones según sea necesario.
En el siguiente ejemplo, todas las páginas referenciadas por el documento HTML y las páginas del mismo dominio se guardarán además del documento:
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 proporciona un conjunto de Aplicaciones Web HTML en línea gratuitas, entre las que se incluyen conversores, fusores, herramientas SEO, generadores de código HTML, utilidades URL y mucho más. Estas herramientas basadas en navegador funcionan en todos los sistemas operativos y no requieren la instalación de ningún software adicional. Si necesita convertir o fusionar archivos, extraer datos web, generar código HTML o analizar páginas para SEO, puede hacerlo todo directamente en la web. Agilice sus tareas diarias y aumente su productividad con nuestras sencillas aplicaciones web HTML, en cualquier momento y lugar.