Сохранить веб-сайт или веб-страницу с помощью Aspose.HTML for Java
Зачем сохранять веб-сайт в формате HTML?
Чтобы обеспечить бесперебойный доступ к важному контенту, полезно сохранять веб-сайты для использования в автономном режиме. Преобразование веб-сайта в HTML дает вам возможность просматривать страницы без подключения к Интернету, будь то исследования, образование или развлечения. Вы можете сохранять веб-страницы для анализа, создания резервных копий или изучения веб-дизайна и шаблонов. Сохранение веб-страниц обеспечивает гибкость, контроль и душевное спокойствие.
В этой статье описаны способы сохранения веб-сайта с помощью Aspose.HTML for Java API. Вы можете настроить процесс – сохранить весь веб-сайт или сохранить одну веб-страницу.
Как сохранить веб-страницу в Java
Вы можете использовать библиотеку Aspose.HTML for Java для сохранения веб-страницы в формате HTML, чтобы читать ее в автономном режиме без каких-либо проблем. Для этого необходимо выполнить несколько следующих действий:
- Используйте конструктор
HTMLDocument(
Url
) для создания экземпляра классаHTMLDocument
, передав ему URL веб-страницы, которую вы хотите загрузить. - Подготовьте путь к локальному файлу, в котором будет сохранен HTML-контент.
- Вызовите метод
save(
savePath
) или save(savePath
,options
), чтобы сохранить загруженный HTML-документ в указанном месте.
Этот Java-пример демонстрирует, как сохранить веб-страницу, используя стандартные параметры сохранения. По умолчанию сохраняется только конкретная веб-страница и связанные с ней ресурсы из того же домена. Ресурсы из внешних доменов не будут загружены.
1// Extract and save a wab page with default save options in Java
2
3// Initialize an HTML document from a URL
4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5// Prepare a path to save the downloaded file
6String savePath = "root/result.html";
7
8// Save the HTML document to the specified file
9document.save(savePath);
С помощью функций, описанных в этой статье, можно сохранять как отдельные страницы, так и целые веб-сайты с ресурсами. Чтобы настроить процесс сохранения, вы можете указать параметры работы с ресурсами для объекта HTMLSaveOptions.
Классы HTMLSaveOptions и ResourceHandlingOptions позволяют настроить обработку ресурсов, таких как изображения, CSS и файлы JavaScript, при сохранении HTML-документа. Они включают свойства для установки поведения по умолчанию при работе с ресурсами (например, сохранение, игнорирование или встраивание ресурсов), управления обработкой JavaScript, указания максимальной глубины сохранения связанных страниц и применения ограничений URL как к страницам, так и к ресурсам. Эти классы обеспечивают тонкий контроль над управлением внешним содержимым в процессе сохранения, позволяя настраивать поведение в соответствии с различными потребностями, например, сохранять целые веб-сайты или извлекать определенные ресурсы.
Сохранение веб-сайта с помощью setJavaScript()
Свойство
JavaScript определяет, как будут обрабатываться сценарии JavaScript при сохранении веб-страницы. Варианты включают Save
, Ignore
, Discard
и Embed
, по умолчанию установлено Save
. В следующем примере Java показано, как сохранить веб-сайт и встроить все сохраняемые JavaScript-сценарии в полученный HTML-документ.
Чтобы сохранить веб-сайт из URL, необходимо выполнить несколько следующих действий:
- Используйте конструктор
HTMLDocument(
Url
) для инициализации HTML-документа с указанного URL. - Создайте экземпляр класса HTMLSaveOptions, чтобы настроить способ сохранения документа.
- Измените свойство
ResourceHandlingOptions
в классеHTMLSaveOptions
, чтобы задать поведение обработки для JavaScript. - Вызовите метод
save(
savePath
,options
), чтобы сохранить документ с нужными настройками.
В примере опция ResourceHandling.Embed
указывает, что любые ресурсы JavaScript должны быть встроены непосредственно в HTML-документ при сохранении. Это означает, что вместо ссылок на внешние файлы .js
, содержимое JavaScript будет включено в сам сохраненный HTML-файл, гарантируя, что все необходимые скрипты будут содержаться в одном документе для автономного доступа или распространения. Такой подход устраняет необходимость во внешних ссылках на файлы и помогает сохранить целостность веб-страницы при передаче или сохранении.
1// Download website using HTMLSaveOptions in Java
2
3// Initialize an HTML document from a URL
4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Create an HTMLSaveOptions object and set the JavaScript property
7HTMLSaveOptions options = new HTMLSaveOptions();
8options.getResourceHandlingOptions().setJavaScript(ResourceHandling.Embed);
9
10// Prepare a path to save the downloaded file
11String savePath = "rootAndEmbedJs/result.html";
12
13// Save the HTML document to the specified file
14document.save(savePath, options);
Сохранение веб-сайта с помощью setMaxHandlingDepth()
Свойство MaxHandlingDepth определяет максимальную глубину иерархии элементов HTML-документа, которая должна быть загружена и обработана. Ограничивая эту глубину, свойство помогает оптимизировать производительность, уменьшая объем памяти и вычислительных мощностей, необходимых в процессе сохранения. По умолчанию только открытый документ и его прямые ресурсы сохраняются как отдельная веб-страница. Если установить это свойство в 1, то будут сохраняться только элементы глубиной до 1 в иерархии HTML, включая сам документ и непосредственно связанные с ним страницы.
1// Save a website with limited resource depth using Java
2
3// Load an HTML document from a URL
4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Create an HTMLSaveOptions object and set the MaxHandlingDepth property
7HTMLSaveOptions options = new HTMLSaveOptions();
8options.getResourceHandlingOptions().setMaxHandlingDepth(1);
9
10// Prepare a path for downloaded file saving
11String savePath = "rootAndAdjacent/result.html";
12
13// Save the HTML document to the specified file
14document.save(savePath, options);
Сохранение веб-сайта с помощью setPageUrlRestriction()
Aspose.HTML для Java предлагает различные варианты фильтрации URL-адресов страниц при сохранении веб-сайта. Свойство
PageUrlRestriction контролирует, какие веб-страницы могут быть загружены на основе их URL или доменов в процессе сохранения. По умолчанию для этого свойства установлено значение RootAndSubFolders
, что означает, что обрабатываются только страницы в корне и его подпапках. При необходимости вы можете изменить это свойство, чтобы применить другие ограничения.
В следующем примере в дополнение к документу будут сохранены все страницы, на которые ссылается HTML-документ, и страницы в том же домене:
1// Save a website with restricted resource URLs using Java
2
3// Initialize an HTML document from a URL
4final HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/net/message-handlers/");
5
6// Create an HTMLSaveOptions object and set MaxHandlingDepth and PageUrlRestriction properties
7HTMLSaveOptions options = new HTMLSaveOptions();
8options.getResourceHandlingOptions().setMaxHandlingDepth(1);
9options.getResourceHandlingOptions().setPageUrlRestriction(UrlRestriction.SameHost);
10
11// Prepare a path to save the downloaded file
12String savePath = "rootAndManyAdjacent/result.html";
13
14// Save the HTML document to the specified file
15document.save(savePath, options);
Aspose.HTML предоставляет набор бесплатных онлайн Веб-приложений HTML, включая конвертеры, слияния, SEO-инструменты, генераторы HTML-кода, утилиты URL и многое другое. Упростите свои повседневные задачи и повысьте производительность с помощью наших простых в использовании веб-приложений HTML – в любое время и в любом месте!