Да, всё верно, ошибка всегда происходит, когда парсер натыкается на большой объём данных. Это может быть очень большой код, или большое количество элементов (точно не скажу, но от 1ой тысячи, скорее даже 3-4 тысячи элементов). Это можно поймать, например, на сайтах с подгрузкой материалов при прокрутке. Если их слишком много, то вот такая беда происходит.
Причем сейчас экспериментировал, чтобы парсер просто брал по одному элементу, а не считал, сколько их всего, через Xpath >AT>0 (1,2,3 и т.д.), и зависает всё-равно на этом действии, видимо всё-равно функция смотрит, сколько элементов всего. Хотел придумать, чтобы парсер обрабатывал все элементы по одному, и записывал хотя бы данные, полученные до зависания, но судьба. Многопоток тут тоже не поможет, как я понимаю, кол-во элементов-то всё-равно будет считаться.
Может можно как-то обойти?