request、cheerio
node的爬虫如何设定采集速度?由于目标站点打开速度比较慢,加载数据相对较长的时间,所以总有一些页面还没加载完,就被忽略掉了。
要怎么限制node爬虫的并发量和采集速度之类的。
使用队列的方式就可以。如果是分布式抓取,建议使用专业的消息队列组件。如果是单机简单的抓取,网上也有一些开源的单机消息队列。
使用消息队列,就可以轻易的控制并发和抓取间隔。比如我设定每次同时消费10个队列,就可以控制并发为10.如果是想要1分钟内抓取10个网页,也可以通过一些限流算法去实现(网上有很多教程)
总之,你把他写成消息队列的形式,一切都简单起来了。
2.1m questions
2.1m answers
60 comments
57.0k users