Я не уверен, что у этого вопроса будет один или даже краткий ответ для всех, но я подумал, что задам, тем не менее.Проблема не зависит от языка, но может иметь в качестве ответа какой-то псевдоалгоритм.
В основном я пытаюсь узнать о том, как работают пауки, и из того, что я могу сказать, ни одному пауку, которого я нашел, не удаетсяиерархия.Они просто перечисляют контент или ссылки, но не упорядочивают их.
Мой вопрос таков: мы смотрим на сайт и можем легко визуально определить, какие ссылки являются навигационными, связаны с контентом или внешними по отношению к сайту.Как мы можем автоматизировать это?Как мы можем программно помочь пауку определить родительские и дочерние страницы.
Конечно, первым ответом будет использование структуры каталогов URL.Например, www.stackoverflow.com/questions/spiders spiders является потомком вопросов, вопросы - дочерним по отношению к базовому сайту и так далее.Но в настоящее время иерархия обычно плоская с ссылками на идентификаторы в URL.
Пока у меня есть 2 ответа на этот вопрос, и я хотел бы получить некоторую обратную связь.
1: Возникновение.
Ссылки, которые встречаются чаще всего на всех страницах, будут называться навигационными.Это выглядит как наиболее многообещающий дизайн, но я вижу проблемы, возникающие с динамическими ссылками и другими, но они кажутся незначительными.
2: Глубина.
Пример - сколько раз мне нужно нажатьна сайте, чтобы попасть на определенную страницу.Это кажется выполнимым, но если некоторая информация будет размещена на домашней странице, которая на самом деле находится на нижнем уровне, она будет определена как страница или узел верхнего уровня.
Так что у кого-нибудь есть какие-либо мысли или конструктивная критика о том, какчтобы сделать иерархию судей по паукам в ссылках.
(Если кому-то действительно интересно, задней частью паука, скорее всего, будет Ruby on rails)