0


我正在尝试用 nightmareJS 抓取网页并卡住了。
在我的程序中,我将链接上的一个数组传递给函数,我需要从所有链接中获取相同的数据
列表可能很长(超过 60 个),如果我尝试做一个

async.each(Links, function (url, callback) {
    var nightmare = Nightmare(size);
    ...
}

只有前几个实例实际上返回了一个值,其他实例只是挂断并且不会加载(空白页)。当我尝试只做三个时,它工作得很好。
我该如何解决?我怎样才能重新分配工作,例如三个并行,只有当全部完成后它才会做下一组?另一种想法可能是使用相同的实例并为所有链接重复这些步骤?

4

1 回答 1

1

有两种可能的解决方案:

  • using eachSerieswhich 等到一个操作完成后再启动另一个操作。

  • 或者async.each传递另一个参数来限制同时运行多少个操作。

于 2016-03-19T10:15:39.353 回答