用Node.js做爬虫怎么突破Web服务的频率限制?
这些天我用superagent做了一个node爬虫,用豆瓣电影序号(1000000-30000000)做索引来抓取豆瓣电影数据,可是运行一会儿,就报403错误了,如果一分钟只能爬40次太慢了,有什么解决方案能破解这个限制吗?
看看我的代码:
var superagent = require('superagent');
var k = 0;
var n = 200;
for (var i = 1; i < n; i++) {
superagent.get("www.douban.com")
.end(function (err, res) {
console.log(res.statusCode)
console.log(k++)
});
}
参考:
NodeJS学习:爬虫小探
SuperAgent - Ajax with less suck
1楼(匿名用户)
用
setTimeout()啊
2楼(未知网友)
豆瓣本来就对采集的频率有限制!除非你使用代理IP,不断切换代理IP
3楼(未知网友)
可以花一些钱,用动态IP来采集