node爬虫限制采集速度?

request、cheerio

node的爬虫如何设定采集速度?
由于目标站点打开速度比较慢,加载数据相对较长的时间,所以总有一些页面还没加载完,就被忽略掉了。

要怎么限制node爬虫的并发量和采集速度之类的。

阅读 2.4k
1 个回答

使用队列的方式就可以。
如果是分布式抓取,建议使用专业的消息队列组件。
如果是单机简单的抓取,网上也有一些开源的单机消息队列。

使用消息队列,就可以轻易的控制并发和抓取间隔。
比如我设定每次同时消费10个队列,就可以控制并发为10.
如果是想要1分钟内抓取10个网页,也可以通过一些限流算法去实现(网上有很多教程)

总之,你把他写成消息队列的形式,一切都简单起来了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题