Jsoup停止解析网页

时间:2011-08-12 08:33:04

标签: java android html parsing jsoup

Jsoup.parse(String html)停止工作。我有一个应用程序,当我使用jsoup几次来解析不同的页面,但当我想解析一个大页面,jsoup只是停止,这就是全部。它是否有页面的限制或最大大小?

java.lang.OutOfMemoryError
at java.lang.Object.internalClone(Native Method)
at java.lang.Object.clone(Object.java:82)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:172)
at java.lang.StringBuilder.append(StringBuilder.java:224)
at org.jsoup.parser.Tokeniser.emit(Tokeniser.java:76)
at org.jsoup.parser.TokeniserState$1.read(TokeniserState.java:26)
at org.jsoup.parser.Tokeniser.read(Tokeniser.java:42)
at org.jsoup.parser.TreeBuilder.runParser(TreeBuilder.java:101)
at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:53)
at org.jsoup.parser.Parser.parse(Parser.java:24)
at org.jsoup.Jsoup.parse(Jsoup.java:44)
...

修改 我将一个页面的子字符串用于大约一千个第一个字符,然后它设法解析它。 所以似乎Jsoup有一个可以管理的字符限制。可能数据类型在这里很重要。

编辑编辑: 在分析了一些可能是错误的内容并尝试编写我自己的HTML解析器之后,这导致了很多压力,我发现Dalvik VM只在堆上分配了4,3 MB,我认为它与pc不同到电脑..试着增加它..

1 个答案:

答案 0 :(得分:0)

尝试使用HttpClient等其他方法获取页面内容,然后调用

Jsoup.parse(String html);