Цены на анализы в Киеве сильно отличаются между лабораториями. Один и тот же общий анализ крови, гормоны щитовидки или комплексный чекап в разных сетях лабораторий могут стоить по-разному, иногда в разы. Для пациента это вопрос экономии. А для самих лабораторий, клиник и медицинских сервисов это вопрос конкуренции: если ваша цена выше соседней на 30%, пациент пойдет туда.
Сравнить цены на анализы руками почти нереально. У каждой лаборатории сотни и тысячи услуг, свои названия, свои коды, свои скидки. Расскажу, как устроен автоматический сбор прайсов пяти крупных лабораторий Киева и как из них получается одна таблица сравнения.

Зачем это нужно
- Лабораториям – видеть, где их цена выше рынка, а где можно поднять без потери пациентов.
- Клиникам и медицинским центрам, которые отправляют анализы в партнерскую лабораторию, – понимать, выгоден ли текущий партнер.
- Медицинским сервисам и агрегаторам – показывать пользователям сравнение цен.
- Страховым компаниям – оценивать стоимость программ, которые включают анализы.
Главное здесь – регулярность. Лаборатории меняют цены, запускают акции, добавляют новые комплексы. Отчет, сделанный один раз, устаревает за месяц. Поэтому сравнение собирается каждую неделю, и видно не только текущие цены, но и изменения.
Почему каждая лаборатория – отдельная задача
Пять сайтов – пять разных способов отдать прайс. Вот как это выглядит на практике:
- Одна страница со всем прайсом. Самый простой случай: вся таблица услуг лежит на одной странице. Забрали, разобрали, готово.
- Каталог с пагинацией. Прайс разбит на десятки страниц. Нужно пройти все по очереди и ничего не пропустить.
- Внутренний API. Сайт подгружает услуги через API: больше сотни подкатегорий, в каждой несколько страниц по десять услуг. Сначала нужно узнать, сколько страниц в каждой подкатегории, потом пройти все.
- Многоуровневое меню с сессией. Самый сложный вариант: категории открываются по уровням, каждый уровень подгружается отдельным запросом с защитным токеном сессии. Обход повторяется, пока не закончатся вложенные уровни.
Для каждой лаборатории написан свой модуль, который знает ее сайт. Сверху – общая часть: сохранение, сравнение и отчет. Если лаборатория изменила сайт, правится только ее модуль.
Самая тяжелая часть – сопоставить одинаковые анализы
Собрать прайсы – половина дела. Вторая половина – понять, что “Общий анализ крови с лейкоцитарной формулой” в одной лаборатории и “Клинический анализ крови (ОАК) + СОЭ” в другой – это одно и то же или нет.
Названия услуг приводятся к единому виду: убираются лишние символы, скобки, унифицируются сокращения и регистр. После этого одинаковые анализы группируются, и для каждой группы видны цены во всех лабораториях, где он есть.
Там, где лаборатория указывает, что входит в комплекс, это тоже сохраняется. Комплексы часто называются одинаково, но имеют разный состав. Без этой колонки сравнение комплексов будет некорректным.

Что в отчете
Результат – Excel-файл, который приходит каждую неделю:
- Лист “Все услуги”. Полный прайс всех лабораторий: лаборатория, категория, код, название услуги, цена, цена со скидкой, что входит.
- Сравнение. Для каждого анализа: в каких лабораториях он есть, минимальная и максимальная цена, разница.
- Ваша позиция. Если отчет для лаборатории, отдельно видно, где вы самые дешевые, где самые дорогие и на сколько.
Цена со скидкой выносится отдельной колонкой. Акции в лабораториях постоянные, и пациент видит именно акционную цену. Сравнивать только базовые цены – значит не видеть реальной конкуренции.
Подводные камни
- Разные города – разные прайсы. Цены в лабораториях зависят от города. Отчет собирается для конкретного города, а для нескольких городов – отдельно по каждому.
- Сайты меняются. Лаборатории обновляют сайты, меняют структуру каталога. Поэтому есть проверка: если из какой-то лаборатории пришло подозрительно мало услуг, отчет не отправляется молча, а я получаю уведомление и исправляю.
- Не все сопоставляется автоматически. Часть услуг уникальна или названа так, что автоматическое сопоставление не уверено. Такие позиции не выдумываются, а остаются отдельно. Лучше честная пустая клетка, чем неправильное сравнение.
Не только лаборатории
Та же схема работает для любой ниши, где услуги имеют прайс на сайте и цены сравниваются между компаниями:
- стоматологии и медицинские центры;
- ветеринарные клиники;
- СТО и шиномонтажи;
- салоны красоты;
- курсы и учебные центры.
Разница только в модулях под конкретные сайты. Сопоставление, сравнение и еженедельный отчет – те же.
Как часто обновлять сравнение
Для большинства задач хватает одного отчета в неделю. Лаборатории не меняют базовые цены каждый день, а акции обычно длятся от недели до месяца. Еженедельный отчет показывает и изменения цен, и старт новых акций.
Чаще имеет смысл собирать в двух случаях: если вы агрегатор и показываете цены пользователям, или если у вас самих часто меняется прайс и нужно видеть реакцию конкурентов. Тогда сбор идет каждый день, а отчет показывает только изменения за сутки: что подешевело, что подорожало, какие услуги появились и исчезли.
Все срезы сохраняются. Через несколько месяцев видно, как менялись цены на ключевые анализы в каждой лаборатории и кто чаще других запускает акции.
Как заказать
Напишите, какие компании и в каком городе вас интересуют, и что вы хотите видеть в отчете. Я посмотрю сайты, скажу, насколько сложно забрать прайс с каждого, и сколько будет стоить регулярное сравнение. Похожая задача с мониторингом цен конкурентов описана на странице парсинг сайтов с защитой от ботов.
