Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
372 views
in Technique[技术] by (71.8m points)

node爬虫限制采集速度?

request、cheerio

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...