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

时间:2014-07-11 11:33:59

标签: java jsoup document

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

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

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

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

2 个答案:

答案 0 :(得分:14)

使用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格式的文件。

答案 1 :(得分:6)

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

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

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