Ich habe überall in Stackoverflow / Google danach gesucht, kann es aber nicht herausfinden.
Ich kratzte Social-Media-Links einer bestimmten URL-Seite und die Funktion gibt ein Objekt mit einer Liste von URLs zurück.
Wenn ich versuche, diese Daten in eine andere Datei zu schreiben, werden sie wie [object Object]
erwartet in die Datei ausgegeben: [' https://twitter.com/#!/101Cookbooks ', ' http://www.facebook.com/ 101cookbooks '] wie es tut, wenn ich console.log()
die Ergebnisse.
Dies ist mein trauriger Versuch, eine Datei in Node zu lesen und zu schreiben, indem ich versuche, jede Zeile (die URL) zu lesen und über einen Funktionsaufruf einzugeben request(line, gotHTML)
:
fs.readFileSync('./urls.txt').toString().split('\n').forEach(function (line){
console.log(line);
var obj = request(line, gotHTML);
console.log(obj);
fs.writeFileSync('./data.json', obj , 'utf-8');
});
als Referenz - die gotHTML
Funktion:
function gotHTML(err, resp, html){
var social_ids = [];
if(err){
return console.log(err);
} else if (resp.statusCode === 200){
var parsedHTML = $.load(html);
parsedHTML('a').map(function(i, link){
var href = $(link).attr('href');
for(var i=0; i<socialurls.length; i++){
if(socialurls[i].test(href) && social_ids.indexOf(href) < 0 ) {
social_ids.push(href);
};
};
})
};
return social_ids;
};
[object Object]
ist ein ObjekttoString
. Wenn Sie die Darstellung des Objekts wünschen, verwenden SieJSON.stringify
.