下記のようにGoogles stock api urlにアクセスすると、自動的にファイルがダウンロードされます。私の目標は、自動的にダウンロードされたファイルの内容をローカルシステムの別のファイルにストリームすることです。getを使用してファイルの内容を別のファイルに書き込む
var get = require('get');
get('http://www.google.com/finance/historical?q=NASDAQ%3aADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv').asString(function(err, data) {
var stream = fs.createWriteStream("./public/js/googl.csv");
stream.once('open', function(fd) {
stream.write(data);
stream.end();
});
});
Iは、別のAPIリンクにこれを達成することができた:[& http://ichart.finance.yahoo.com/table.csv?s=INTC = 2013 = 6 & B = 10 & C = 2013 & D = 6 & E = 10 & F] link
これらの両方のapiリンクは同じことを行い、要求された株からの株価データを含むcsvファイルを出力します。私の問題は、私がエラーをスローし、それが '不明である'と言います。私はconsole.log(data)でデータをログに記録しようとしました。私は何も手に入れません。私が&の出力= csvを削除すると動作しますが、私は実際のページにあると想定しているJavaScriptの束を受け取ります。自動的にダウンロードされたファイルの内容を取得し、get関数のdataパラメータ内に格納するにはどうすればよいですか?
あなたが取得している完全な誤りを含んすることはできますか? – jehna1
これは単にURLを参照するときにクロムで機能するため、リクエストヘッダーをスプーフィングすることでノード要求をクローム要求のように見せかける必要があります。 – dandavis
エラーメッセージは次のとおりです。_stream_writable.js:268 var len = state.objectMode? 1:chunk.length; WriteStream.Writable.writeで ^はTypeError:writeOrBufferで未定義 のプロパティ '長さ' を読み取ることができません(41 _stream_writable.js:268)(_stream_writable.js:11:215) –