ВНП включите и все обновится !
Оптимальный алгоритм парсинга для BAS
-
@Denis_krsk Спасибо за мысль, я писал выше
Нет, sitemap никак не получить. Сайт закрытый. Ну и еще есть детали типа отсутствия ссылок в браузере (не IFRAME а JS), приходится сохранять каждую страницу с идентификатором, но я уже просто решил не грузить кучей подробностей. В общем нужен именно алгоритм обхода сайта.
-
Делаем ассоциированный массив VAR_LINKS = {}Делаем While цикл
while(true){ VAR_TEMP_LINKS = [] if(VAR_CYCLE_INDEX == 0) { //Тут собираем ссылки первый раз }else { //Проверка есть ли список для этой иттерации try{ var a = VAR_LINKS[VAR_CYCLE_INDEX] }catch(e){ _break() } Foreach(VAR_LINKS[VAR_CYCLE_INDEX]) //Парсим ссылки с каждой страницы в массив TEMP_LINKS } //Ложим в ассоц массив наш массив if(VAR_TEMP_LINKS.length > 0) VAR_LINKS[VAR_CYCLE_INDEX + 1 ] = VAR_TEMP_LINKS }За первый проход помещаем в массив спаршенных ссылок
VAR_LINKS = { 1:["ссылка1", "ссылка2"] }Следующий проход
VAR_LINKS = { 1:["ссылка1", "ссылка2"]; 2:["ссылка3", "ссылка4"] }При этом в общем цикле еще делаем добавление в общий список и ресурс, а так же проверку перед переходом по ссылке, что бы много раз не переходить по тем же ссылкам.
Так же желательно поменять переменный cycle index
П.С.
Мог ошибиться в где то в синтаксисе с асоц массивами, лень искать скрипт в котором этом реализовано, но факт того что это рабочее - подтверждаю на личном опыте. Делал такой "ПАУК" для одной соц сети, что собирать друзей друзей * N раз