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


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.