有人可以帮我解决JS scraper编码,我试图为使用类似ASP编码的网站创建...
我们使用该网站下载我们最新的软件培训手册,每次点击每个项目,我们必须下载50多本手册。下载管理器将无法工作,因为这些PDF链接到__doPostBack()节点。如果我只对一个条目使用我的编码,它可以很好地工作,但是当我开始批处理命令时,它会跳过__doPostBack
直到达到最后一个条目,然后只执行那个条目。我已经尝试添加一个sleep命令来减慢进程的速度,如果这是问题,但所有这一切,就是睡眠 x -ms的脚本并跳过将文件保存到循环的任务试。
注意: 我对Javascript没有太多经验,因此下面的编码可能存在一些问题,并且我们非常感谢自己的教育!< / p>
我正在使用Google Chrome和Javascript控制台运行以下脚本:
//Sleep function found on StackOverflow to slow down script for cmdlet
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
// Node starts with Index 2, so we start there to avoid errors
var i = 2;
while (i <= 15){
console.log (i);
// Execute __doPostBack(...) depending on int values
switch(i){
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
var cmdlet = "GridViewLevel3$ctl0" + i + "$lnkFolder3";
console.log (cmdlet);
__doPostBack(cmdlet,'');
sleep(6000);
break;
case 10: case 11: case 12: case 13: case 14: case 15:
var cmdlet = "GridViewLevel3$ctl" + i + "$lnkFolder3";
console.log (cmdlet);
__doPostBack(cmdlet,'');
sleep(6000);
break;
default:
console.log("Error!"); //Handle Exceptions here...
break;
};
i = i + 1;
}