我正在尝试使用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后不久结束。
答案 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) {}
}