跳到主要内容
CNode

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

问答
Kkidbai发布于 12 年前最后回复 10 年前
496710

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

查看回复

回复 (4)

M
Mrwaite#410 年前

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

W
wewea#311 年前

是的, 所以问题是什么?

R
reverland#211 年前

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

C
ChrisFuck#111 年前

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

参与回复

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