node.js - nodejs superagent读取网页内容,怎么控制请求的频率

【字号: 日期:2022-10-02浏览:3作者:雯心

问题描述

nodejs superagent读取网页内容,怎么控制请求的频率,比如说1秒一次请求,因为做数据抓取,不能太快,我想到的是用settimeout之类的,但是感觉不是特别合适,有没有比较好的实现方法?

问题解答

回答1:

node-schedule - Cron风格定时器

* * * * * *┬ ┬ ┬ ┬ ┬ ┬│ │ │ │ │ |│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)│ │ │ │ └───── month (1 - 12)│ │ │ └────────── day of month (1 - 31)│ │ └─────────────── hour (0 - 23)│ └──────────────────── minute (0 - 59)└───────────────────────── second (0 - 59, OPTIONAL)

// 每天 6:30,10:30,14:30,18:30,21:30 定时dosomething...schedule.scheduleJob(’0 30 6,10,14,18,21 * * *’, function() { // do something....});

// 每隔十分钟dosomething...schedule.scheduleJob(’0 0,10,20,30,40,50 * * * *’, function() { // do something...});

https://github.com/xCss/bing/... 这里有使用的例子

回答2:

有的网站有并发连接数的限制,请求发送太快的时候会返回空或者报错,所以建议你可以使用async来控制并发。https://github.com/caolan/async

相关文章: