我编写了一个Puppeteer脚本,该脚本从网站上抓取文本(这是一个显示服务器日志文件的GUI,它是Squarespace网站,因此这是我访问日志文件的唯一方法)。
脚本会读取此内容(及其下一行),并将其当前输出到console.log()。
上面的记录如下:
11/9/2018 at 12:21:44pm70.119.157.106AboutHostname:70.119.157.106Location:Carrollton, Texas, United StatesTags:-Referrer:www.kingspointcove.com/Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
然后将它们端对端放置在输出中,像这样一个巨大的块:
11/9/2018 at 12:21:44pm70.119.157.106AboutHostname:70.119.157.106Location:Carrollton, Texas, United StatesTags:-Referrer:www.kingspointcove.com/Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.3611/9/2018 at 12:21:33pm70.119.157.106HomesitesHostname:70.119.157.106Location:Carrollton, Texas, United StatesTags:-Referrer:www.kingspointcove.com/about/Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.3611/9/2018 at 12:21:26pm70.119.157.106AboutHostname:70.119.157.106Location:Carrollton, Texas, United StatesTags:-Referrer:www.kingspointcove.com/Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.3611/9/2018 at 12:21:15pm70.119.157.106HomeHostname:70.119.157.106Location:Carrollton, Texas, United StatesTags:-Referrer:-Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
我现在正在尝试找出如何将其写入CSV而不是使用console.log(textContent);
终端的步骤。
将其写入CSV的最佳方法是什么?
(以下步骤将解析所有这些内容,但是...婴儿步骤...)
答案 0 :(得分:0)
您可以使用类似csv-stringify的模块,将数组的数组转换为csv。
var stringify = require('csv-stringify');
var input = []
var line = logLine.split(",");
input.push(line);
stringify(input, function(err, output){
fs.writeFile("output.csv", output);
});
建议使用模块,因为它可以处理特殊的情况,在csv字段中您可能会遇到诸如,
或"
这样的字符。
但是您也可以不使用任何模块,CSV是一种非常简单的格式(除了那些特殊情况),因此,如果您可以通过,
连接所有值并使用fs.writeFile
或fs.appendFile
将它们写到输出中。