Gravar objetos no arquivo com Node.js
Eu procurei por todo stackoverflow / google por isso, mas parece que não consigo descobrir.
Estou raspando links de mídia social de uma determinada página de URL e a função retorna um objeto com uma lista de URLs.
Quando tento gravar esses dados em um arquivo diferente, ele gera o arquivo como[object Object]
em vez do esperado: ['https://twitter.com/#!/101Cookbooks','http://www.facebook.com/101cookbooks'] como acontece quando euconsole.log()
os resultados.
Esta é minha triste tentativa de ler e gravar um arquivo no Node, tentando ler cada linha (o URL) e inserir através de uma chamada de funçãorequest(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');
});
para referência - ogotHTML
função:
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;
};