Сохранить веб-сайт или веб-страницу с помощью Aspose.HTML for Java

Зачем сохранять веб-сайт в формате HTML?

Чтобы обеспечить бесперебойный доступ к важному контенту, полезно сохранять веб-сайты для использования в автономном режиме. Преобразование веб-сайта в HTML дает вам возможность просматривать страницы без подключения к Интернету, будь то исследования, образование или развлечения. Вы можете сохранять веб-страницы для анализа, создания резервных копий или изучения веб-дизайна и шаблонов. Сохранение веб-страниц обеспечивает гибкость, контроль и душевное спокойствие.

В этой статье описаны способы сохранения веб-сайта с помощью Aspose.HTML for Java API. Вы можете настроить процесс – сохранить весь веб-сайт или сохранить одну веб-страницу.

Как сохранить веб-страницу в Java

Вы можете использовать библиотеку Aspose.HTML for Java для сохранения веб-страницы в формате HTML, чтобы читать ее в автономном режиме без каких-либо проблем. Для этого необходимо выполнить несколько следующих действий:

  1. Используйте конструктор HTMLDocument(Url) для создания экземпляра класса HTMLDocument, передав ему URL веб-страницы, которую вы хотите загрузить.
  2. Подготовьте путь к локальному файлу, в котором будет сохранен HTML-контент.
  3. Вызовите метод 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, необходимо выполнить несколько следующих действий:

  1. Используйте конструктор HTMLDocument(Url) для инициализации HTML-документа с указанного URL.
  2. Создайте экземпляр класса HTMLSaveOptions, чтобы настроить способ сохранения документа.
  3. Измените свойство ResourceHandlingOptions в классе HTMLSaveOptions, чтобы задать поведение обработки для JavaScript.
  4. Вызовите метод 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 – в любое время и в любом месте!

Текст “Веб-приложения HTML”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.