Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.03.2018, 18:31
Новичок на форуме
Отправить личное сообщение для forklive Посмотреть профиль Найти все сообщения от forklive
 
Регистрация: 15.12.2017
Сообщений: 4

Парсинг с помощью NodeJS
Добрый день, Всем спецам по NodeJS!
Не могу понять, подходит ли под мою задачу NodeJS.
У меня есть задача одновременного парсинга нескольких тысяч WEB страниц, контент на которых формируется динамически. Грубо говоря — представьте 5 000 открытых страниц браузера. Контент на них меняется раз в несколько секунд. И раз в секунду с каждой страницы нужно присылать обновления. Задача скажем так — нетривиальная)
Я могу это делать с помощью запуска JS-скриптов парсинга на каждой из страниц. JS-скрипт пробегает по нужным элементам, формирует JSON скрипт, выводит его в консоль, где я уже забираю его, обрабатываю, и загружаю в базу.
Но это все ТАААК ресурсоемко) Я экспериментирую на 20 открытых страницах — и моя виртуалка уже на половину загружена) А мне нужно это делать в пике с несколькими тысячами страниц.
Я ищу средства, которые бы не были такими ресурсоемкими как обычный браузер.

И конечно я абсолютно понимаю, что в любом случае такая задача потребует ресурсов. Но хотелось бы ограничиться несколькими серверами. А лучше делать все это в облаке и ресурсы брать по мере необходимости.

Как Вы считаете — поможет ли описанная связка NodeJS + headless браузер (например Puppeteer) в выполнении такой задачи? И будет ли это более красивым и элегантным решением, чем просто открытые окна браузера?)

И еще: Я пока не углублялся в nodeJS. Может ли он держать много страниц открытыми, выполнять на них JS-скрипты, распарсивать JSON, и SQL запросами загружать результаты в базу?

P.S. У многих возникнет резонный вопрос - зачем парсить браузером и JS, когда можно просто посылать GET запросы, и парсить JSON - ответы? Отвечаю: речь идет о ~50 разных сайтов. У каждого своя схема работы, свой JSON, где то это вообще не JSON - а что то другое. И разбираться во всем этом не хочется. Кроме того - в JSON-е от этих сайтов приходит инфа, которая становится понятна только тогда, когда сама страница её распарсит и подставит в нужные поля.
Вообщем парсинг JS-скриптами - это универсальное решение, которое подойдет к любому сайту. Но за эту универсальность нужно будет заплатить ресурсоемкостью.

Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
NodeJS + RubyOnRails (require is not a function...) morezen10 Node.JS 1 04.10.2017 10:54
WebSocket - nodejs SVARAI AJAX и COMET 2 17.02.2014 06:41
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Библиотеки/Тулкиты/Фреймворки 3 15.06.2013 14:48
Получить значение ячейки с помощью onclik Space-06 Events/DOM/Window 4 10.01.2012 07:39
Comet: NodeJS - с чего начать разработку? Vulkan AJAX и COMET 13 27.11.2010 18:25