【发布时间】:2017-07-05 21:24:08
【问题描述】:
我正在从 csv 读取链接并使用它来抓取。我希望节点渗透在刮擦之间等待可能是在刮擦 10 个站点之后。我尝试使用睡眠,但它似乎在错误的时间睡眠,而下一个网站正在被抓取,导致它失败。
const osmosis = require('osmosis');
const fs = require('fs');
const stream = fs.createReadStream("data.csv");
const csv = require('fast-csv');
let ii = 0;
const scrapeData = (row) => {
osmosis
.get(row[0])
.set({
'data': '#data',
})
.data(function (listing) {
fs.appendFileSync('out2.ssv',listing.data);
if(ii%10 == 0 && ii!==0){
console.log('ss',ii);
sleep.sleep(1000);
}
}
})
}
let csvStream = csv()
.on("data", function (data) {
scrapeData(data)
ii++;
});
stream.pipe(csvStream);
我该如何处理这个问题。提前致谢。
【问题讨论】:
-
如果块在 readFileSync 之上,你应该尝试移动...
-
我没有使用 readFileSync
-
我只是使用阻塞写入来追加内容
-
我的意思是,在 appendFileSync 上方移动 if 块
标签: javascript node.js web-scraping