如何将数据输出到CasperJS中的文件?

时间:2015-02-26 20:57:26

标签: javascript phantomjs casperjs

我正在使用CasperJS进行数据抓取项目。我已经启动并运行了我的初始脚本开始工作。我把它需要输出到控制台。现在我需要弄清楚如何将我需要的数据放入文件中,以便我可以将其导入我的电子商务管理软件。有没有人有任何关于如何将数据吐出到文件中的提示,最好是CSV或我可以用Excel打开的东西。

到目前为止,我的工作代码看起来像这样:

var casper = require('casper').create();
casper.start('http://www.123FAKE.com/');
casper.then(function(){
    this.thenOpen('http://www.123FAKE.com/products/?partNumber=1131180961', function(){
        this.echo(this.getHTML('table.partFitmentTable', true));
    });
});

casper.run();

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

CSV文件是一个非常简单的文本文件。您可以将文件文本构建为预期格式的字符串,然后使用fs module将字符串写入文件。

为此,您可能需要将表格刮成适当的形式。您只能直接从casper.evaluate()访问DOM,这是沙盒页面上下文。

var csv = casper.evaluate(function(){
    var trList = document.querySelectorAll("table.partFitmentTable tr");
    return [].map.call(trList, function(tr){
        return [].map.call(tr.querySelectorAll("td"), function(td){
            td.innerHTML; // some representation of the cell
        }).join(",");
    }).join("\n");
});
var fs = require("fs");
fs.write("data.csv", csv);