Jsoup перестает анализировать веб-страницу - PullRequest
1 голос
/ 12 августа 2011

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)
...

EDIT: Я взял подстроку страницы для нескольких тысяч первых символов, а затем ей удалось ее проанализировать. Похоже, что у Jsoup есть ограничение на количество символов, которыми он может управлять .. Вероятно, здесь важен тип данных.

РЕДАКТИРОВАТЬ: , РЕДАКТИРОВАТЬ: Проанализировав немного, что может быть ошибкой, и попытавшись написать свой собственный анализатор HTML, что вызвало много стресса, я обнаружил, что Dalvik VM выделяет только 4,3 МБ в куче, что, как я полагаю, отличается от ПК на ПК .. Собираюсь увеличить его ..

1 Ответ

0 голосов
/ 23 июля 2013

Попробуйте получить содержимое страницы с помощью другого метода, такого как HttpClient, а затем вызовите

Jsoup.parse(String html);
...