[解決済み] Node.jsでオブジェクトをファイルに書き込む
2023-01-14 21:29:01
質問
このためにstackoverflow / googleをくまなく探したのですが、なかなか解決しません。
私は指定されたURLのページのソーシャルメディアのリンクをスクレイピングしており、関数はURLのリストを持つオブジェクトを返します。
このデータを別のファイルに書き込もうとすると、ファイルへの出力は
[object Object]
と出力され、期待した
[ '
https://twitter.com/#!/101Cookbooks
',
'
http://www.facebook.com/101cookbooks
']
のときと同じように
console.log()
を実行したときと同じです。
これはNodeでファイルを読み書きするための私の悲しい試みで、各行(URL)と関数呼び出しによる入力を読み取ろうとしています
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');
});
参考までに--。
gotHTML
という関数があります。
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;
};
どのように解決するのですか?
obj
は例では配列です。
fs.writeFileSync(filename, data, [オプション])
は、以下のいずれかを必要とします。
String
または
Buffer
をdataパラメータで指定します。
ドキュメントを見る
.
配列を文字列形式で書いてみる。
// writes 'https://twitter.com/#!/101Cookbooks', 'http://www.facebook.com/101cookbooks'
fs.writeFileSync('./data.json', obj.join(',') , 'utf-8');
または
// writes ['https://twitter.com/#!/101Cookbooks', 'http://www.facebook.com/101cookbooks']
var util = require('util');
fs.writeFileSync('./data.json', util.inspect(obj) , 'utf-8');
edit: この例で配列が表示されている理由は、nodeの実装が
console.log
を呼び出すだけでなく
toString
を呼び出すだけでなく
util.format
console.jsのソースを見る
関連
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 循環構造をJSONのような形式で印刷するにはどうすればよいですか?
-
[解決済み] fs.writeFileSyncによるJSONオブジェクトのJSONファイルへの書き込み
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]