Я похожую задачу решал немного по другому, для парсинга тяжелых страниц написал небольшое веб приложение, которое отдает JSON на андроид, потому что тянуть на мобилку тяжелые страницы, да еще потом парсить их слишком тяжелый труд для аккума ) в учебных целях то оно конечно все равно, но в реальном приложении мне кажется это уже играет существенную роль
Не так уж и много страницы весят, основной объем всё равно приходится на CSS, скрипты и графику. А голый HTML весит мало, даже на здоровых страницах. Парсинг на серверной стороне имеет смысл, если результаты обработки сервером одной страницы будут отдаваться множеству клиентов. Ну или хотя бы если эта самая «серверная сторона» вообще имеется в наличии.
Я бы еще упомянул JSoup. Она быстрее htmlcleaner раза в 2, по крайней мере в JavaSE.
Ее плюсы в относительной простоте кода и удобных CSS-подобных селекторах.
«Правильный» html парсинг