CNode

async.mapLimit配合superagent的使用的时候遇到问题 #用于爬虫#

问答
Kkidbai发布于12 年前最后回复10 年前4 回复9643 浏览0 收藏

这是我在做一个爬虫时候遇到的问题: 我获取了一组url的数组,并在迭代器中用superagent对当前的url发送请求,我们都知道async.mapLimit中的limit参数是可以控制并发链接数的 ,是不是我控制了iterator的并发数,就相当于控制它其中superagent的请求数。 我是认为iterator每执行一次,superagent就会发送一个请求,等到iterator的callback执行了,才又会并行发起一个链接数,这样就控制了请求的发送数,被我要爬的网站403的概率就会降低。 代码如下: 屏幕快照 2014-11-10 下午9.23.55.png

查看回复

回复 (4)

C
ChrisFuck#1·11 年前

你要把async.mapLimit写到superagent.get里面

R
reverland#2·11 年前

回调注入吧,Async好像是。。。我写爬虫的时候也是这些,不过现在觉得有了promise generator特别是async和await应该更方便了

W
wewea#3·11 年前

是的, 所以问题是什么?

M
Mrwaite#4·10 年前

我尝试上面这段代码的时候,为什么情况是,比如你控制的并发数量是2,那执行完两个并发的请求之后,程序就停在那里,没有继续请求剩下的href?

参与回复
登录后即可参与回复。登录