Chrome DevTools.Сохранить консольный вывод в файл автоматически - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь получить текстовое содержимое с веб-страницы.Например, Google.com

Я пишу на консоли:

$ ('#SIvCob').innerText

и получаю:

"Google offered in: русский"

Это текст, который я узнаю.Теперь я хочу сохранить его в файл (.txt).

Два момента: нет только одного элемента, который я ищу, на самом деле 7-10.И есть обновление каждую секунду!Я иду писать цикл.

Я знаю о функции copy () и о щелчке правой кнопкой мыши на консоли и «Сохранить как», но мне нужен КОД, который сделает это автоматически.

Заранее спасибо.

1 Ответ

0 голосов
/ 08 октября 2018

Браузер не имеет API для записи в файловую систему, так как это будет представлять угрозу безопасности.Но вы можете использовать Nodejs и их API файловой системы для записи текстового файла.

Вам также потребуется использовать HTTP API дляполучить веб-контент.И вам также нужно будет проанализировать ваш HTML, вы можете сделать это с fast-html-parser или любым другим модулем по вашему выбору.(high5, htmlparser, htmlparser2, htmlparser2-dom, hubbub, libxmljs, ms / file, parse5, ...)

 var http = require('http');
 var fs = require('fs');
 var parser = require('node-html-parser');
 var options = {
   host: 'www.google.com',
   port: 80,
   path: '/index.html'
 };
 var file = '/path/to/myFile.txt';
 http.get(options, function(res) {
   res.setEncoding('utf8');
   var body = ''; 
   res.on('data', function (chunk) {body += chunk});
   res.on('end', function () { 
     var dom = parser.parse(body);
     var text = dom.querySelector('#SIvCob').text;
     fs.writeFile(file, text, function (err) {
       if (err) throw err;
       console.log('The file has been saved!');
     });
   });
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...