Оптимальный алгоритм парсинга для BAS
-
Делаем ассоциированный массив 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 раз
-
@DrPrime Огромнейшее спасибо за ответ! Буду завтра разбирать