-1
我寫了一個使用nodejs的爬蟲,抓住100000網站的關鍵詞,並將結果寫入TXT文件中。但是當第二次爬到100個網站並寫入文件,不能寫入文件,程序不起作用。可能會寫得太快。怎麼解決?使用nodejs短時間寫入大量數據無法正常工作
對不起我的英語很差!
我寫了一個使用nodejs的爬蟲,抓住100000網站的關鍵詞,並將結果寫入TXT文件中。但是當第二次爬到100個網站並寫入文件,不能寫入文件,程序不起作用。可能會寫得太快。怎麼解決?使用nodejs短時間寫入大量數據無法正常工作
對不起我的英語很差!
'use strict';
let fs = require('fs');
let http = require('http');
var writable = fs.createWriteStream(__dirname + '/write.txt');
var sitelist = ['engineeringcircle.com/'];
let count = 0;
setInterval(function() {
doReq();
}
, 10);
function doReq() {
http.get('http://' + sitelist[0], function(res) {
console.log(count++);
let finData = '';
res.setEncoding('utf8');
res.on('data', (data) => {
finData += data;
})
res.on('end',() => {
writable.write(finData);
})
})
}
我使用的是同一個網站,如果時間間隔爲10毫秒我不明白的錯誤,提高它,如果你仍然得到錯誤
能你提供一個例子嗎? –
等一下!!! – stone
''' var input = fs.createReadStream(__ dirname +'/10000000website.txt'); var writable = fs.createWriteStream(__ dirname +'/write.txt'); var sitelist = []; //在陣列讀站點列表推 的setInterval(函數(){ \t變種鏈路= sitelist.pop(); \t使用getURL(聯繫); },10) 功能的WriteLine(數據){ \t writable.write(data,'utf8'); } 功能的getURL(鏈接){ \t http.get(的 'http://' +鏈路,功能(RES){ \t \t的WriteLine(RES)//從RES找出關鍵字和運行writLine \t}) } \t ''' – stone