如何将Jsoup文档保存到HTML文件?

2022-09-02 03:38:17

我使用此方法将网页检索到对象中:org.jsoup.nodes.Document

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

我应该如何将此对象写入 HTML 文件?方法,并且不输出文档的所有元素。myDoc.html()myDoc.text()myDoc.toString()

javascript 元素中的一些信息在解析时可能会丢失。例如,Instagram 媒体页面源中的“时间戳”。


答案 1

用。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(), StandardCharsets.UTF_8);
    }

不要忘记捕获异常。添加依赖项或下载Apache commons-io库,以便以UTF-8格式轻松快捷地保存文件。


答案 2

有些元素被忽略的事实,一定是由于Jsoup试图规范化。

为了获得服务器的确切输出,而无需任何形式的规范化,请使用此选项。

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

推荐