java - Jsoup 停止解析网页

标签 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 不同到电脑..会尝试增加它..

最佳答案

尝试使用其他方法(例如 HttpClient)获取页面内容,然后调用

Jsoup.parse(String html);

关于java - Jsoup 停止解析网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7037522/

相关文章:

java - 逻辑探索 - 从一维索引获取 TableCell

java - 如何动态更改servlet中生成的html页面的外观

java - 获取URL内容

java - 实现多个接口(interface)的类的替代方案?

android - Viewpager 在滑动和选项卡上禁用最后一页

java - 如何创建 float 上下文菜单?

android - 未调用 TimePickerDialog.onTimeSetListener

html - webpack4 不会编译所有的 html 文件?

html - Twitter 时间轴未加载

html - 在移动 View 上弹出标题?