鍍金池/ 問(wèn)答/HTML/ 一個(gè)關(guān)于 node 爬蟲大批量請(qǐng)求的問(wèn)題

一個(gè)關(guān)于 node 爬蟲大批量請(qǐng)求的問(wèn)題

我的需求是:node 需要短時(shí)間內(nèi)爬取一個(gè)接口數(shù)據(jù)若干次次,每一條的數(shù)據(jù)量大概有5M,得到的數(shù)據(jù)存儲(chǔ)在mongo 中

我現(xiàn)在做了幾種嘗試:

  1. 當(dāng)請(qǐng)求次數(shù)很少(20次左右),一切正常
  2. 當(dāng)請(qǐng)求次數(shù)過(guò)多后(200+),數(shù)據(jù)能夠請(qǐng)求到,但是不能順利保存
  3. 當(dāng)請(qǐng)求次數(shù)超過(guò)500次后,直接內(nèi)存溢出了

我想問(wèn)問(wèn)有什么方案能讓異步數(shù)量小于20次?

回答
編輯回答
心上人

并發(fā)控制啊,node爬蟲不做并發(fā)控制肯定內(nèi)存溢出啊。

async npm包 , async.maplimt 控制并發(fā)

或者自己造一個(gè)簡(jiǎn)單的輪子15 行代碼實(shí)現(xiàn)并發(fā)控制(javascript)

2018年4月22日 14:08