imacros javascript условный пропуск извлечения данных

при выполнении цикла ниже происходит сбой, как только встречается реклама. Сайт целенаправленно размещает случайную рекламу. возможно ли справиться с этим с помощью #EANF#, не знаю, как это закодировать. пожалуйста помоги. Что-то вроде этого.

//if(text=="#EANF#" || text=="undefined" || text==null || text=="" )
//{
////handle the loop
//}

var jsLF="\n";
var ret=null;

var proxynovaurl; //open url
proxynovaurl  =  "CODE:";
proxynovaurl +=  "VERSION BUILD=9002379" + jsLF; 
proxynovaurl +=  "TAB T=1" + jsLF; 
proxynovaurl +=  "TAB CLOSEALLOTHERS" + jsLF; 
proxynovaurl +=  "URL GOTO=http://www.proxynova.com/proxy-server-list/anonymous-proxies/" + jsLF; 

var proxynova; //extract part #1 value
proxynova =  "CODE:";
proxynova += "VERSION BUILD=9002379" + jsLF; 
proxynova += "TAB T=1" + jsLF; 
proxynova += "TAB CLOSEALLOTHERS" + jsLF; 
proxynova += "TAG POS={{i}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF;
proxynova += "SET !VAR1 {{!EXTRACT}}" + jsLF;
proxynova += "SET !EXTRACT NULL" + jsLF;
//proxynova += "SAVEAS TYPE=EXTRACT FOLDER=C:\\  FILE=ip-address.csv" + jsLF;

var proxynovamid; //use constant for part #2 value
proxynovamid =  "CODE:";
proxynovamid += "VERSION BUILD=9002379" + jsLF; 
proxynovamid += "TAB T=1" + jsLF; 
proxynovamid += "TAB CLOSEALLOTHERS" + jsLF; 
//proxynovamid += "TAG POS={{j}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF;
proxynovamid += "SET !VAR2 :" + jsLF;
//proxynovamid += "SET !EXTRACT NULL" + jsLF;

var proxynova1; //extract part #3 value
proxynova1 =  "CODE:";
proxynova1 += "VERSION BUILD=9002379" + jsLF; 
proxynova1 += "TAB T=1" + jsLF; 
proxynova1 += "TAB CLOSEALLOTHERS" + jsLF; 
proxynova1 += "TAG POS={{j}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF;
proxynova1 += "SET !VAR3 {{!EXTRACT}}" + jsLF;
proxynova1 += "SET !EXTRACT NULL" + jsLF;

var proxynovafinal;
proxynovafinal =  "CODE:";
proxynovafinal += "ADD !EXTRACT {{!VAR1}}" + jsLF;
proxynovafinal += "ADD !EXTRACT {{!VAR2}}" + jsLF;
proxynovafinal += "ADD !EXTRACT {{!VAR3}}" + jsLF;
proxynovafinal += "SAVEAS TYPE=EXTRACT FOLDER=C:\\  FILE=ip-address.csv" + jsLF;

iimPlay(proxynovaurl); //launch url

for(var i=1;i<=236;i=i+6) //1st loop extract 1st part of value
{
iimDisplay(i);
iimSet("i", i);
iimPlay(proxynova);
iimSet("i",i);

iimSet("j",i+1);
//for(var j=17;j<=37;j=j+5) 
//{
//iimDisplay(j);
//iimSet("j", j);
iimPlay(proxynovamid); //extract 2nd part of value
iimPlay(proxynova1);   //extract 3rd part of value
iimSet("j",i+1);
iimPlay(proxynovafinal); //write final concatinated value to file (Part1+part2+part3)
}

person computerwizardinc    schedule 20.11.2013    source источник


Ответы (1)


используйте iimGetExtract http://wiki.imacros.net/iimGetExtract, чтобы получить извлеченное значение после каждого блока кода, который извлекает данные (удалите SET !EXTRACT NULL, чтобы сохранить данные), после чего вы можете использовать извлеченные данные по своему усмотрению. вот пример

var proxynova1; //extract part #3 value
proxynova1 =  "CODE:";
proxynova1 += "VERSION BUILD=9002379" + jsLF; 
proxynova1 += "TAB T=1" + jsLF; 
proxynova1 += "TAB CLOSEALLOTHERS" + jsLF; 
proxynova1 += "TAG POS={{j}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF;
proxynova1 += "SET !VAR3 {{!EXTRACT}}" + jsLF;
var qqq = iimGetExtract();
if (qqq == '#EANF#'){ data not found flow} 
person Bestmacros    schedule 20.11.2013
comment
Я думаю, что этот веб-сайт сделал нас невозможными для предсказания логики извлечения. - person computerwizardinc; 20.11.2013