Необходимо написать парсер на nodejs, который будет собирать цены с заданного списка сайтов.
Номенклатура товаров на сайтах ограничена 3-4 категориями, в каждой категории максимум по 5-10 товаров.
Количество сайтов, порядка 40 штук, все имеют разную структуру. Где-то каждый товар находится на отдельной странице, где-то у каждой категории своя страница и все товары представлены на ней, где-то все товары указаны в виде таблицы на одном сайте. По формату, какие-то сайты на wordpress, какие-то на других движках, есть лендинги, есть самописные.
Алгоритм работы парсера:
- парсер через заданный список прокси подставляя заголовки стандартных клиентов и браузеров поочерёдно заходит на каждый из 40 сайтов
- для каждого сайта используется свой обработчик, который используя селекторы вытаскивает нужные данные о ценах на страницах сайта, которые задаются списком в самом обработчике. В идеале прописать для каждого товара что-то вроде:
товар1 = selector(товар1).html()
товар2 = selector(товар1).html()
- цены приводятся к стандартному виду, систематизируются в виде ассоциативного массива и после завершения их сбора с конкретного сайта заносятся в базу данных mysql с указанием датывремени запроса
Требование к парсеру:
- использование асинхронных запросов к сайтам
- если данные не удалось загрузить, эта информация должна записаться в лог файл
- обработчики должны выполняться в виде отдельных классов, чтобы при необходимости можно было переделывать каждый обработчик и добавлять новые
Жду предложения по цене и срокам исполнения.