rediffusion
11/2/2017 - 1:45 PM

else if - Переборов цен

Парсер сайта где стоит ограничение на показ товаров, чтобы его обойти нужно делать переборку по интервалам цен. В идеале получены более мелкие интервалы. Немного инфы в WORD - Вопрос-Ответ (поддержка)

int intFirstPrice=50;

int intPrice1 = 0;
int intPrice2 = 0;

//определение изначального диапазона цен
if(intFirstPrice<50){
    //НЕИЗВЕСТНОЕ НАЗНАЧЕНИЕ
}else if(intFirstPrice<100){
    intPrice1 +=  50;
    intPrice2 +=  50;
}else if(intFirstPrice<200){
    intPrice1 =  100;
    intPrice2 =  200;
}else if(intFirstPrice<300){
    intPrice1 =  200;
    intPrice2 =  300;
}else if(intFirstPrice<400){
    intPrice1 =  300;
    intPrice2 =  400;
}else if(intFirstPrice<500){
    intPrice1 =  400;
    intPrice2 =  500;       
}else if(intFirstPrice<600){
    intPrice1 =  500;
    intPrice2 =  600;       
}else if(intFirstPrice<700){
    intPrice1 =  600;
    intPrice2 =  700;       
}else if(intFirstPrice<800){
    intPrice1 =  700;
    intPrice2 =  800;       
}else if(intFirstPrice<900){
    intPrice1 =  800;
    intPrice2 =  900;       
}else if(intFirstPrice<1000){
    intPrice1 =  900;
    intPrice2 =  1000;       
}else if(intFirstPrice<1200){
    intPrice1 =  1000;
    intPrice2 =  1200;       
}else if(intFirstPrice<1400){
    intPrice1 =  1200;
    intPrice2 =  1400;       
}else if(intFirstPrice<1600){
    intPrice1 =  1400;
    intPrice2 =  1600;       
}else if(intFirstPrice<1800){
    intPrice1 =  1600;
    intPrice2 =  1800;       
}else if(intFirstPrice<2000){
    intPrice1 =  1800;
    intPrice2 =  2000;       
}

for (int i=0; i<30; i++) {
    
    project.SendInfoToLog(String.Format("Распарсили цены от {0} до {1}", intPrice1, intPrice2));
    
    intPrice1 = intPrice2; //делаем вернюю цену диапазона нижней ценой.
    
    //цикл парсинга
    if(intPrice2==50){
        intPrice1 += 50;
        intPrice2 += 50;
    }else if(intPrice2==100){
        intPrice1 = 100;
        intPrice2 = 200;   
    }else if(intPrice2==200){
        intPrice1 = 200;
        intPrice2 = 300;       
    }else if(intPrice2==300){
        intPrice1 = 300;
        intPrice2 = 400;       
    }else if(intPrice2 == 400){
        intPrice1 =  400;
        intPrice2 =  500;       
    }else if(intPrice2==500){
        intPrice1 =  500;
        intPrice2 =  600;       
    }else if(intPrice2==600){
        intPrice1 =  600;
        intPrice2 =  700;       
    }else if(intPrice2==700){
        intPrice1 =  700;
        intPrice2 =  800;       
    }else if(intPrice2==800){
        intPrice1 =  800;
        intPrice2 =  900;       
    }else if(intPrice2==900){
        intPrice1 =  900;
        intPrice2 =  1000;       
    }else if(intPrice2==1000){
        intPrice1 =  1000;
        intPrice2 =  1200;       
    }else if(intPrice2==1200){
        intPrice1 =  1200;
        intPrice2 =  1400;       
    }else if(intPrice2==1400){
        intPrice1 =  1400;
        intPrice2 =  1600;       
    }else if(intPrice2==1600){
        intPrice1 =  1600;
        intPrice2 =  1800;       
    }else if(intPrice2==1800){
        intPrice1 =  1800;
        intPrice2 =  2000;
    }else if(intPrice2==10000){
        intPrice1 =  10000;
        intPrice2 =  100000;       
    }else if(intPrice2==5000){
        intPrice1 =  5000;
        intPrice2 =  10000;       
    }else if(intPrice2==3000){
        intPrice1 =  3000;
        intPrice2 =  5000;       
    }else if(intPrice2==1000){
        intPrice1 =  1000;
        intPrice2 =  3000;       
    }else{
        project.SendErrorToLog("Такое значение не предусмотрено!");
        return null;
    }
}