【问题标题】:How do I download a website and write it to a file using Restler?如何使用 Restler 下载网站并将其写入文件?
【发布时间】:2013-07-08 14:22:53
【问题描述】:

我想下载一个网站 (html) 并将其写入一个带有 node 和 restler 的 .html 文件。

https://github.com/danwrong/Restler/

他们最初的例子已经完成了一半:

var sys = require('util'),
    rest = require('./restler');

rest.get('http://google.com').on('complete', function(result) {
  if (result instanceof Error) {
    sys.puts('Error: ' + result.message);
    this.retry(5000); // try again after 5 sec
  } else {
    sys.puts(result);
  }
});

我需要将其保存到文件中,而不是 sys.puts(result);

如果我需要Buffer,或者我是否可以将其直接写入文件,我会感到困惑。

【问题讨论】:

    标签: node.js restler


    【解决方案1】:

    您可以在节点中简单地使用fs.writeFile

    fs.writeFile(__dirname + '/file.txt', result, function(err) {
        if (err) throw err;
        console.log('It\'s saved!');
    });
    

    或流式传输更推荐的方法,可以处理非常大的文件并且非常节省内存:

    // create write stream
    var file = fs.createWriteStream(__dirname + '/file.txt');
    
    // make http request
    http.get('http://example.com/', function(res) {
        // pipe response into file
        res.pipe(file);
        // once done
        file.on('finish', function() {
            // close write stream
            file.close(function(err) {
                console.log('done');
            });
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 2021-12-19
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多