Форматировать вывод Puppeteer для экспорта в CSV - PullRequest
0 голосов
/ 10 ноября 2018

Я написал скрипт Puppeteer, который удаляет текст с веб-сайта (это графический интерфейс, отображающий файлы журнала сервера - это сайт Squarespace, так что это единственный способ получить доступ к файлам журнала).

Вот так выглядят строки в графическом интерфейсе: enter image description here

Скрипт читает это (и каждую строку под ним) и выводит его в 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?

(Следующий шаг будет разбирать все это, но ... детские шаги ...)

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете использовать модуль типа 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 для запишите их в вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...