2013-11-20 43 views
2

我做了一切處理。但沒有運氣它返回「未定義」的數據。我嘗試了很多不同的方式從本網站獲取數據。不成功。我在其他論壇上發佈了這個,沒有人能夠解決這個問題來處理完整的數據提取。?嘗試了很多方法不成功

我需要像這樣保存的數據91.228.53.28:8089每行一行所有行。

var jsLF="\n"; 
var ret,ret1,ret2,ret3,ret_val; 


var p1; //open url 
p1 = "CODE:"; 
p1 += "URL GOTO=http://www.proxynova.com/proxy-server-list/country-de/" + jsLF; 

var p2; //extract 1st value ip save to tmp VAR1 
p2 = "CODE:"; 
p2 += "SET !VAR1 {{!EXTRACT}}" + jsLF; 
p2 += "TAG POS={{i}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF; 
p2 += "SET !EXTRACT NULL" + jsLF; 

var p3; //add constant value =":" Save to tmp VAR2 
p3 = "CODE:"; 
p3 += "SET !VAR2 :" + jsLF; 
//p2 += "SET !EXTRACT NULL" + jsLF; 

var p4; //extract port number 
p4 = "CODE:"; 
p4 += "TAG POS={{j}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF; 
p4 += "SET !VAR3 {{!EXTRACT}}" + jsLF; 
p4 += "SET !EXTRACT NULL" + jsLF; 

var p5final; //mer 3 parts to get final and save 
p5final = "CODE:"; 
p5final += "ADD !EXTRACT {{!VAR1}}" + jsLF; 
p5final += "ADD !EXTRACT {{!VAR2}}" + jsLF; 
p5final += "ADD !EXTRACT {{!VAR3}}" + jsLF; 
p5final += "SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=ip-address.csv" + jsLF; 

//ADD !VAR1 {{!EXTRACT}} // append! may be this is correct 

ret = iimPlay(p1); 
for(var i=1;i<=20;i=i+6) //1st loop extract 1st part of value 
{ 
iimSet("i", i); 
iimPlay(p2); 
iimSet("i",i); 

ret_val = iimGetExtract(); 
if(ret_val=="#EANF#" || ret_val=="undefined" || ret_val==null || ret_val=="") 
{ 
    iimSet("i",i+1); 
} 

ret1=iimPlay(p3); //extract 2nd part of value 
iimSet("j",i+1); 
ret2 = iimPlay(p4); //extract 3rd part of value 
iimSet("j",i+1); 
ret3 = iimPlay(p5final); //write final concatinated value to file (Part1+part2+part3) 
} 

回答

2

您不會在任何地方存儲您的變量使用iimPlay()刪除每個變量,就像重新開始,因此您的最終宏,寫入該文件不知道!VAR1, !VAR2等你應該做這樣的事情:

var jsLF="\n"; 
var ret,ret1,ret2,ret3,ret_val; 


var p1; //open url 
p1 = "CODE:"; 
p1 += "URL GOTO=http://www.proxynova.com/proxy-server-list/country-de/" + jsLF; 

var p2; //extract 1st value ip save to tmp VAR1 
p2 = "CODE:"; 
p2 += "TAG POS={{i}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF; 

var p3; //add constant value =":" Save to tmp VAR2 
p3 = "CODE:"; 
p3 += "SET !VAR2 :" + jsLF; 


var p4; //extract port number 
p4 = "CODE:"; 
p4 += "TAG POS={{j}} TYPE=TD ATTR=* EXTRACT=TXT" + jsLF; 


var p5final; //mer 3 parts to get final and save 
p5final = "CODE:"; 
p5final += "ADD !EXTRACT {{myvar1}}" + jsLF; 
p5final += "ADD !EXTRACT :" + jsLF; 
p5final += "ADD !EXTRACT {{myvar2}}" + jsLF; 
p5final += "SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=ip-address.csv" + jsLF; 

ret = iimPlay(p1); 
for(var i=1;i<=20;i=i+6) //1st loop extract 1st part of value 
{ 
    iimSet("i", i); 
    iimPlay(p2); 
    iimSet("i",i); 

    myvar1 = iimGetExtract(); 
    if(ret_val=="#EANF#" || ret_val=="undefined" || ret_val==null || ret_val=="") 
    { 
     iimSet("i",i+1); 
    } 

    ret1=iimPlay(p3); //extract 2nd part of value 
    iimSet("j",i+1); 
    ret2 = iimPlay(p4); 
    myvar2 = iimGetExtract(); //extract 3rd part of value 
    iimSet("myvar1",myvar1); 
    iimSet("myvar2",myvar2); 
    ret3 = iimPlay(p5final); //write final concatinated value to file (Part1+part2+part3) 
    } 

改善這種代碼,我提供你,請不要問同樣的問題,2次:)始終是小心你把SET !EXTRACT NULL(永遠不會結束,當你需要JavaScript中的值)

+0

你讓我的一天。很大的幫助。你知道如何爲imacros建立邏輯。 – computerwizardinc

相關問題