使用 get 将文件内容写入另一个文件



当我转到下面列出的Google股票API网址时,我会自动下载文件。我的目标是获取自动下载的文件内容并将其流式传输到本地系统上的另一个文件。

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();
    });
});

我能够使用另一个 api 链接完成此操作:链接

[http://ichart.finance.yahoo.com/table.csv?s=INTC &a=6 &b=10 &c=2013 &d=6 &e=10 &f=2013]

这两个 api 链接都做同样的事情,输出一个 csv 文件,其中包含来自请求库存的股票数据。我的问题是,当我使用谷歌的 api 链接时,它会给我一个错误并说它是"无法识别的"。我尝试使用控制台.log(数据)记录数据;我也什么也得不到。当我删除 &output=csv 时,它可以工作,但我收到一堆我认为在实际页面上的 javascript。如何获取自动下载文件的内容并将其存储在 get 函数的数据参数中?

我从 get 模块切换到请求模块,它有效,例如: https://www.npmjs.com/package/request 这是我使用的功能:

request('http://www.google.com/finance/historical?q=NASDAQ%3aADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv',     function (error, response, body) {
if (!error && response.statusCode == 200) { 
    var stream = fs.createWriteStream("./public/js/googl.csv");
      stream.once('open', function(fd) {
      stream.write(body);
      stream.end();
    });
  }
});

相关内容

  • 没有找到相关文章

最新更新