Показать сообщение отдельно
  #9 (permalink)  
Старый 16.09.2015, 11:53
Аспирант
Отправить личное сообщение для ninja2 Посмотреть профиль Найти все сообщения от ninja2
 
Регистрация: 07.06.2015
Сообщений: 90

Вот код написал
var webpage=require('webpage');

var url=[];
url[0]="http://google.ru";
url[1]="http://microsoft.com";
url[2]="http://kselax.ru";
url[3]="http://cyberforum.ru";
url[4]="http://fl.ru";
url[5]="http://podrobnosti.ua";

var page=webpage.create();

//устанавливаем 10 секунд ожидания запроса
page.settings.onResourceTimeout=500;

var step=1;
var time=500;
var intervalId=setInterval(tick,time);
var i=0;
function tick(){
    switch(step){
        case 1:{
            clearInterval(intervalId);//останавливаем счетчик
            step=2;
            console.log(url[i]);
            page.settings.resourceTimeout=15000;//время ожидания 15 секунд
            page.open(url[i],function(status){
                if(status==="success"){
                    console.log("success"+i);
                    page.render("img"+i+".png");
                    i++;
                    if(i<url.length) {
                    //    clearInterval(intervalId);
                    //    intervalId=setInterval(tick,time);
                        step=1;
                    }
                    else step=3;
                }
                else{
                    console.log("not success"+i);
                    i++;
                    if(i<url.length) {
                    //    clearInterval(intervalId);
                    //    intervalId=setInterval(tick,time);
                        step = 1;
                    }
                    else step=3;
                }
            });
            intervalId=setInterval(tick,time);
            break;
        }
        case 2:{
            console.log("TICK"+step);
            break;
        }
        case 3:{
            clearInterval(intervalId);
            phantom.exit();
        }
    }
}


Он у меня два раза копирует одни и теже изображения, а когда раскоменнтирую строки переустановки счетчика тогда нормально. Че так? Че он неуспевает обнулятся или че за нафиг?

На нем большие парсера можно написать или нет?, Это ужас постоянно таймеры запускать

Щас и с задержкой половина урлов не спарсило, мб. большую нужно поставить, 500 вроде мало, когда ставил 1000 то норм было.
Как он работает не ясно.... Через раз парсит, раз норм все урлы, а другой раз пару урлов.

Последний раз редактировалось ninja2, 16.09.2015 в 11:59.
Ответить с цитированием