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

Ali*_*eli 17 java document jsoup

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

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

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

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

Gon*_*ndy 17

使用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");
    }
Run Code Online (Sandbox Code Playgroud)

别忘了抓住例外.添加依赖项或下载Apache commons-io库,以便以简单快捷的方式保存UTF-8格式的文件.


Alk*_*ris 6

有些元素被忽略的事实必须归功于Jsoup规范化的尝试.

为了在没有任何形式的规范化的情况下获得服务器的确切输出,请使用此方法.

Connection.Response html = Jsoup.connect("PUT_URL_HERE").execute();
System.out.println(html.body());
Run Code Online (Sandbox Code Playgroud)