Jsoup不解析整个html文档

时间:2013-07-15 14:16:05

标签: parsing html-parsing jsoup

我正在尝试使用Jsoup从网站上获取大量链接。我的计划是从网址获取整个html并稍后提取链接。但是,只提取了整个html代码的一部分。

public static void main(String[] args) {    
    System.out.println("parsing test");

    try {

        Document doc = Jsoup.connect("http://mangafox.com/manga").get();
        System.out.print(doc);

    } catch (Exception e) {}

}

当我将打印输出与浏览器中的原始html代码进行比较时,似乎它从字母m的中间某处开始,并在字母o后不久结束。

2 个答案:

答案 0 :(得分:2)

以防其他人到此为止......

Document doc = Jsoup.connect(url)
    .header("Accept-Encoding", "gzip, deflate")
    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0")
    .maxBodySize(0)
    .timeout(600000)
    .get();

via - http://jmchung.github.io/blog/2013/10/25/how-to-solve-jsoup-does-not-get-complete-html-document/

答案 1 :(得分:0)

这是因为System.out.print存在字符限制(至少在eclipse中)。 Html页面大于该限制,这就是您在控制台中看不到整个文档的原因。

您可以增加控制台缓冲区大小like it describes here.

或者将html打印到这样的文件:

public static void main(String[] args) {    
   try {
        Document doc = Jsoup.connect("http://mangafox.com/manga").get();
        //System.out.print(doc);

        //write to document
        PrintWriter out = new PrintWriter("output.txt");
        out.print(doc.toString());
        out.close();
    } catch (Exception e) {}

}