Как сохранить документ Jsoup в файл HTML?

Я использовал этот метод для извлечения веб-страницы в объект org.jsoup.nodes.Document:

myDoc = Jsoup.connect(myURL).ignoreContentType(true).get();

Как мне записать этот объект в файл HTML? Методы myDoc.html(), myDoc.text() и myDoc.toString() не выводят все элементы документа.

Некоторая информация в элементе javascript может быть потеряна при его анализе. Например, "timestamp" в источнике медиа-страницы Instagram.

Ответ 1

Тот факт, что есть элементы, которые игнорируются, должен быть связан с попыткой нормализации Jsoup.

Чтобы получить точный вывод на сервер без какой-либо формы нормализации, используйте это.

Connection.Response html = Jsoup.connect("PUT_URL_HERE").execute();
System.out.println(html.body());

Ответ 2

Используйте doc.outerHtml().

import org.apache.commons.io.FileUtils;

public void downloadPage() throws Exception {
        final Response response = Jsoup.connect("http://www.example.net").execute();
        final Document doc = response.parse();

        final File f = new File("filename.html");
        FileUtils.writeStringToFile(f, doc.outerHtml(), "UTF-8");
    }

Не забывайте ловить исключения. Добавьте зависимость или загрузите библиотеку Apache commons-io для простого и быстрого способа сохранения файлов в формате UTF-8.