Чаще всего бесконечные подграфы предотвращаются глубиной ссылки. Таким образом, вы получаете начальный набор URL-адресов, и вы будете перемещаться от каждого к конечной глубине. Ограничивая глубину перемещения, вы можете использовать некоторые эвристики для динамической настройки в соответствии с характеристиками веб-страницы. Более подробную информацию можно найти, например, здесь .
Другой вариант - попытаться найти какое-то соответствие шаблону. Но в зависимости от алгоритма, который создает подграф, это будет довольно (очень, очень) трудная задача. Это также будет как минимум довольно дорогая операция.
По вопросу интервью (об обнаружении бесконечных циклов):
Если они задают этот вопрос, кто-то хочет услышать ссылку на проблему Остановка
Алан Тьюринг доказал в 1936 году, что общий алгоритм для решения
проблема остановки для всех возможных пар ввода программы не может существовать.