Два очень детских вопроса от новичка...
Есть задача получить на js нескольких страниц... Без вяких библиотек. Чистое nodejs, раз никак не получится такое на чистом js
Читаю мануал... И делаю const https = require('https') function readURL(url) { return new Promise((resolve, reject) => { https.get(url, (res) => { const { statusCode } = res; let error; if (statusCode !== 200) { error = new Error(`Ошибка: ${statusCode}`); } if (error) { reject(error); res.resume(); return; } res.setEncoding('utf8'); let rawData = ''; res.on('data', chunk => rawData += chunk); res.on('end', () => resolve(rawData)); }).on('error', (e) => reject(e)); }) } readURL('адрес страницы') .then(data => console.log(data) ) .catch(err => console.log(err.message) ) Все работает так как надо, но страница формируется через JS, и я получаю её код без постобработки... Спрашиваетcя, а как в синхронном режиме получить то что отображается в браузере? И сразу в тему второй.... Если нужна будет регистрация на сайте, то как в таком случае вводить имя пользователя и пароль...... Как я понимаю регистрация и получение страниц по адресу, в этом случае будет разные операции.. Извиняюсь, что не понимаю элементарные вещи.... |
Цитата:
Что бы это получить надо получать страницу в браузере. Node не работает с html, css и javascript скрипты у него свои. Возможно, для Node есть какие то библиотеки, производящие парсинг html, имитирующие работу DOM и манипуляции с ним. |
Цитата:
А для nodejs есть jsdom, но его просто функционал избыточен и не хочется тащить зависимости для нескольких строк кода.. |
Но если страница обрабатывается скриптом, то она работает с DOM (а не с текстом) И без DOM никуда не деться.
|
Цитата:
|
Цитата:
Мне же немного надо… Просто , по возможности компилируемую под разные платформы библиотеку на любом языке, с инкапсулирванным javascript в которой есть функция(процедура), которая берут URL и отдает в любом формате dom или строку. Дальше уже все пойдет вообще в вордоэксельный VBА, как внешняя библиотека. Все это делается на богомерзком CEF4, но настолько медленно и печально, что 10 потоков занимают больше гига оперативки, а сама процедура тянет зависимостей на 200 мб, то есть весь cef.... |
Часовой пояс GMT +3, время: 04:17. |