Комментарии 7
Очень интересный, амбициозный проект!
Да, тут основная сложность в разрозненности и нестабильности источников информации: страницы, их адреса, Dom, айдишники и прочие атрибуты постоянно меняются, поэтому для поддержки скрипта нужны будут люди. И чем больше база конкурентов, тем больше нагрузка на этих людей. Опять же, требования к полноте и достоверности данных нужно как-то покрывать, поэтому важно собирать по максимуму инфы, иначе картина рынка будет искажённой и полагаться на такие данные, при принятии решений, будет опасно.
Т.е., в целом, нужно иметь команду, постоянно переписывающую много кода (из плюсов, можно экономить на качестве). Тут, как мне кажется, выбор node.js и js прекрасный. Вот с реляционной бд я не очень согласен: структуру менять сложнее, у вас разреженность вижу большая достаточно. Можно было бы взять хорошую документоориентированную бд, типа монги, и хранить все там. Можно даже сразу в, скажем, elastic search и к нему отчёты уже независимо прикрутить, которые на лету генерировать можно, т.к. скорость позволяет :) Ну и используйте преимущество node.js -закладывайте модульность, так с кодом работать будет легче.
Ах, самое главное — обязательно продумайте систему мониторинга ошибок при парсинге, чтобы сразу в одном месте видеть, где и на каком конкуренте какой код не смог отработать (скажем, структура сайта поменялась), чтобы сразу знать куда лезть, чтобы починить!
Очень надеюсь, что у вас все получится и жду продолжения!
Исторически сложилось, что интернет-магазин – на 1C-Bitrix, поэтому мониторинг цен был написан на php. Но это неправильный подход, поэтому ниже будет описан алгоритм парсинга на Node.js.
Что неправильного в написание парсера на php? Почему node.js а не python например?
Поднимаем сервис мониторинга цен конкурентов