Ваша программа не остановилась, потому что вы никогда не меняете условия:
while( q == w )
всегда верно. Я запускаю твой код без времени, и я получаю две ссылки, которые печатаются дважды (!), И программа останавливается.
Если тебе нужны ссылки на другие главы, у тебя та же проблема, что и у меня. В элементе
Element element = doc.getElementById("sel_book_1");
ссылки идут после псевдоэлемента :: before. Таким образом, они не будут в вашем документе Jsoup.
Вот мой вопрос к этой теме c:
Как найти тег HTML с псевдоэлементом :: before в jsoup