在imacrosjavascript中是否可以实现这一点?尝试了很多方法都没有成功

在imacrosjavascript中是否可以实现这一点?尝试了很多方法都没有成功,javascript,loops,macros,extract,imacros,Javascript,Loops,Macros,Extract,Imacros,我做了所有能处理的事情。但它没有返回“未定义”的数据。我尝试了许多不同的方法从这个站点获取数据。不成功。我在其他论坛上发布了这篇文章,没有人能够解决这个问题来处理完整的数据提取 我需要像这样保存数据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/

我做了所有能处理的事情。但它没有返回“未定义”的数据。我尝试了许多不同的方法从这个站点获取数据。不成功。我在其他论坛上发布了这篇文章,没有人能够解决这个问题来处理完整的数据提取

我需要像这样保存数据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)
}
var jsLF=“\n”;
变量ret、ret1、ret2、ret3、ret_val;
var-p1//打开url
p1=“代码:”;
p1+=“URL转到=http://www.proxynova.com/proxy-server-list/country-de/“+jsLF;
var-p2//提取第一个值ip保存到tmp VAR1
p2=“代码:”;
p2+=“SET!VAR1{{!EXTRACT}”+jsLF;
p2+=“tagpos={{i}}TYPE=TD ATTR=*EXTRACT=TXT”+jsLF;
p2+=“设置!提取空值”+jsLF;
var-p3//add constant value=“:”保存到tmp VAR2
p3=“代码:”;
p3+=“设置!变量2:+jsLF;
//p2+=“设置!提取空值”+jsLF;
var-p4//提取端口号
p4=“代码:”;
p4+=“tagpos={{j}}TYPE=TD ATTR=*EXTRACT=TXT”+jsLF;
p4+=“SET!VAR3{{!EXTRACT}”+jsLF;
p4+=“设置!提取空值”+jsLF;
var P5最终版本//制造3个零件以获得最终结果并保存
p5final=“代码:”;
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;
//加上!VAR1{{!EXTRACT}//append!也许这是对的
ret=I样本(p1);
对于本文中的(var i=1;i):

它讨论了通过大量客户端渲染来提取数据。如果这没有帮助,我想这可能会导致您希望您丢失数据。我无法通过公司过滤器查看您的站点…:(

您不将变量存储在任何位置。使用
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)
     }
var jsLF=“\n”;
变量ret、ret1、ret2、ret3、ret_val;
var p1;//打开url
p1=“代码:”;
p1+=“URL转到=http://www.proxynova.com/proxy-server-list/country-de/“+jsLF;
var p2;//提取第一个值ip保存到tmp VAR1
p2=“代码:”;
p2+=“tagpos={{i}}TYPE=TD ATTR=*EXTRACT=TXT”+jsLF;
var p3;//添加常量值=“:”保存到tmp VAR2
p3=“代码:”;
p3+=“设置!变量2:+jsLF;
var p4;//提取端口号
p4=“代码:”;
p4+=“tagpos={{j}}TYPE=TD ATTR=*EXTRACT=TXT”+jsLF;
var p5final;//mer 3个部分以获取final并保存
p5final=“代码:”;
p5final+=“ADD!EXTRACT{{myvar1}}”+jsLF;
p5final+=“添加!提取:”+jsLF;
p5final+=“ADD!EXTRACT{{myvar2}}”+jsLF;
p5final+=“SAVEAS TYPE=EXTRACT FOLDER=C:\\FILE=ip address.csv”+jsLF;
ret=I样本(p1);

对于(var i=1;iyou让我开心了。帮了大忙。你知道如何为iMacro构建逻辑。