我想用puppeteer爬取搜索引擎某些关键词的搜索结果数量,一共有几千个关键词,如何才能控制住一次性打开的网页不要太多。。。

发布于 2022-09-12 23:00:53 字数 82 浏览 24 评论 0

第一次玩puppeteer,写个for循环就把page扔进去了,发现一下子就开了4000个promise???
这种情况该怎么处理啊。。。。求助

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

假装不在乎 2022-09-19 23:00:53

搞个数组,每次做完一个在做另一个。或者说你可以让他最多同时执行5个,类似于连接池这种概念。

先申请连接,然后再去处理。处理完了取一个新的执行。有新任务就放入队列中,然后判断一下有空闲连接吗,有就执行,没有就在队列中等待。

然后这个数据是本地的嘛,重启就没了。你可以放在服务端,然后用接口操作咯。

忘羡 2022-09-19 23:00:53

不要把browser.newPage()放进循环里,page应该是创建后复用,如果你每次创建一个page,那就需要用完page就应该关闭page.close(),否则内存肯定要炸

喜爱纠缠 2022-09-19 23:00:53

p-limit 之类的 npm 包可以很方便的实现控制异步并发,自己实现也不复杂。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文