Сохранить веб-сайт или веб-страницу с помощью 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”

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.