2

当我在 Firefox 中执行这个 javascript .js 文件时,它给出了错误

SyntaxError: wrong format of SET command, line: 1 (Error code: -910)

alexa 上的这个 url 每页有 25 个结果,这样的页面有 20 个。我需要捕获所有 25 x 20 = 500 个结果并将它们保存到文件中。

var jsLF="\n";

var macro;
macro =  "CODE:";
macro +=  "VERSION BUILD=9002379" + jsLF; 
macro +=  "TAB T=1" + jsLF; 
macro +=  "TAB CLOSEALLOTHERS" + jsLF; 
macro +=  "URL GOTO=http://www.alexa.com/topsites/countries/ID" + jsLF; 
macro +=  "TAG POS={{i}} TYPE=H2 ATTR=* EXTRACT=TXT" + jsLF; 

var macro1;
macro1  =  "CODE:";
macro1 +=  "VERSION BUILD=9002379" + jsLF; 
macro1 +=  "TAB T=1" + jsLF; 
macro1 +=  "TAB CLOSEALLOTHERS" + jsLF; 
macro1 +=  "URL GOTO=http://www.alexa.com/topsites/countries;{{j}}/ID" + jsLF; 

//loop all the pages for each page get data
for (var j=0;j<3;j++)
{
iimDisplay(j);    
iimSet("j", j);
iimPlay(macro1);
//iimPlay("CODE:SET !EXTRACT {{j}}jsLF SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=hiprsites.txt");

//loop the first page and get result
for(var i=0;i<3;i++)    
{
iimDisplay(i);    
iimSet("i", i);
iimPlay(macro);
iimSet("i",i);
iimPlay("CODE:SET !EXTRACT {{i}}jsLF SAVEAS TYPE=EXTRACT FOLDER=C:\\   FILE=hiprsites.txt");
}

有人能帮助我吗。

4

2 回答 2

2

编辑您提供的新要求。我想你想要下面的代码。仔细查看更改,以便能够在您未来的宏中复制它们。另请注意,ID 是印度尼西亚的国家代码,因此使用下面的宏,您将获得该国家/地区的 500 个结果。将该代码更改为您所在国家/地区所需的代码。

var jsLF="\n";

var macro;
macro =  "CODE:";
macro += "VERSION BUILD=9002379" + jsLF; 
macro += "TAB T=1" + jsLF; 
macro += "TAB CLOSEALLOTHERS" + jsLF; 
macro += "TAG POS={{i}} TYPE=H2 ATTR=* EXTRACT=TXT" + jsLF;
macro += "SAVEAS TYPE=EXTRACT FOLDER=C:\\   FILE=hiprsites.txt" + jsLF;

var macro1;
macro1  =  "CODE:";
macro1 +=  "VERSION BUILD=9002379" + jsLF; 
macro1 +=  "TAB T=1" + jsLF; 
macro1 +=  "TAB CLOSEALLOTHERS" + jsLF; 
macro1 +=  "URL GOTO=http://www.alexa.com/topsites/countries;{{j}}/ID" + jsLF; 

//loop all the pages for each page get data
for (var j=0;j<20;j++)
{
iimDisplay(j);    
iimSet("j", j);
iimPlay(macro1);

//loop the current page and get all 25 result
for(var i=1;i<=25;i++)    
{
iimDisplay(i);    
iimSet("i", i);
iimPlay(macro);
iimSet("i",i);
}
}

PS:它没有经过测试,但它应该可以工作。如果它不让我知道。

于 2013-11-15T20:33:56.927 回答
1

尝试这个

iimSet("i", i);    
iimPlay(macro);
iimSet("i", i);   
iimPlay("CODE:SET !EXTRACT {{i}}\n SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=hiprsites.txt");
于 2013-11-15T08:14:48.827 回答