Как отмечено в комментариях, это действительно базовый аспект кодирования паука. Если вы намереваетесь закодировать паука общего назначения, вам необходимо добавить средства для разрешения URL-адресов и определения, указывают ли они на один и тот же контент и каким образом (через перенаправление или просто через дублированный контент), а также какие содержание, на которое они указывают.
Вам нужно как минимум справиться:
- относительные пути
- GET-переменные, которые так или иначе значимы для веб-страницы, но не отображают различия в содержании.
- Неправильные URL-адреса.
- Информация, связанная с JavaScript в атрибуте href.
- Ссылки на материалы, отличные от HTML - прямые ссылки для скачивания на PDF-файлы, изображения и т. Д. (Обнаружить его по расширению не всегда достаточно, как в сценариях PHP, предоставляющих изображения).
Это лишь некоторые из аспектов, но все сводится к тому, что вид обнаружения, который вы ищете, должен быть фундаментальной частью паука, если вы намереваетесь использовать его любым родовым способом.