node.js - 如何在不挂机的情况下执行多重 Nightmare 功能

标签 node.js nightmare

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

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

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

最佳答案

有两种可能的解决方案:

使用eachSeries

  • ,它会等到一项操作完成后再启动另一项操作。
  • 或在async.each中传递另一个参数,该参数限制了同时运行多少个操作。
  • 关于node.js - 如何在不挂机的情况下执行多重 Nightmare 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134154/

    相关文章:

    node.js - 从数据库条目集合中获取最新更新(Mongodb、Mongoose)

    node.js - 连接 MongoDb 失败

    javascript - Nightmare.js 屏幕截图缓冲区长度为 0

    node.js - 如何在while循环中执行 Nightmare js

    javascript - 如何按数组内容的顺序执行 async.map 函数

    node.js - 即使设置正确,NODE_ENV 也未定义

    javascript - Angular.js 或类似于显示 json?

    javascript - 使用 cheerio 替换属性值

    javascript - NightmareJS 无法使用 vo 进行评估

    node.js - nightmare.js 试图点击基于 anchor 文本的链接