Посоветовали использовать рекурсию, глубина рекурсии 3
По-человечьи это означает, что с изначальной страницы нужно перейти максимум на три уровня.
Нужно сделать:
1. Избавиться от дублей. В обычный set() запихивать урлы, где уже собрала ссылки, чтобы не тратить лишнее время
2. Класс Links переделать. Он должен принимать один урл — где искать ссылки и текущий уровень. Текущий уровень нужен для того, чтобы остановить процесс на уровне 2 (если начинать с нулевого).
3. Экземпляр Links(url="something", level=0) будет порождать другие Links(url="something-else",
level=1) и уметь возвращать назад список ссылок. Соответсвенно, если self.level == 2, то найденые ссылки мы не парсим, а просто отдаём наверх