Всем привет! Сегодня поговорим о парсинге данных с сайтов сетей медицинских клиник. Мы выбрали это направление по двум причинам: 1- это высокодоходный бизнес; 2 - все катаклизмы, которые происходят в мире не сильно "качают" эту сферу к знаку минус. Т.к. можно отказать себе в походе в ресторан, покупке нового айфона, даже осознать невозможность взять ипотеку. Но, если не дай Бог появились проблемы со здоровьем - то тут не до экономии. И к сожалению, даже имея полис ОМС, реально записаться к нужному специалисту получается по факту не раньше, чем через 2-3 недели. Особенно это касается жителей больших городов. Именно поэтому мы начали парсить данные клиник г. Москвы.

Сразу оговоримся статья эта вероятно представляет наибольший интерес для бизнес анализа. Фокусироваться на технических деталях в этот раз не будем. Ограничимся минимумом: парсер написан на PHP с использованием библиотеки DiDom. Если посмотреть нашу предыдущую статью про парсинг Twitter, то там мы применяли python + selenium. Но DiDom быстрее selenium, поэтому стек был выбран именно этот.

Вернемся к основной канве. Необходимо отметить, что разделение труда в медицинской сфере продолжает расти. Появляются новые узкоспециализированные специалисты. И на них есть спрос. Я сам обладаю двумя полисами (ОМС и ДМС), но за последние два года пару раз столкнулся с ситуацией, когда нужного мне специалиста ни один полис не покрывал. И пришлось рассматривать варианты получения услуги либо в государственной больнице через направление (долго и бесплатно), либо за дополнительную плату в специализированной коммерческой клинике.

И так мы взяли две популярные сети медицинских центров в Москве: MedSwiss и МЕДСИ. Данные брались с публичных сайтов https://www.medswiss.ru/ и https://medsi.ru/ соответственно. MedSwiss состоит из 13-и точек в Москве и 3-х точки в Санкт-Петербурге. Все они обладают плюс/минус одинаковыми наборами услуг.

А МЕДСИ оказалась значительно большей по размеру, хоть и ограниченная одним регионом присутствия (Москва):

Ø  3 шт. клинико-диагностический центр;

Ø  27 шт. детская клиника;

Ø  52 шт. клиника первичного приема;

Ø  3 шт. клиника премиум сегмента;

Ø  1 шт. многофункциональный медицинский центр;

Ø  1 шт. департамент централизованной помощи на дому;

Ø  1 шт. Центр психического здоровья МЕДСИ;

Соответственно получение данных МЕДСИ далось чуть сложнее, ввиду навороченности структуры сайта, обусловленной иерархией и объемом самой сети. Но тем не менее мы справились. Правда пока ограничились только несколькими разделами услуг. Но об этом позже.

И так, давайте посмотрим на структуру результатов. По MedSwiss получилось 6777 платных услуг в разрезе 75 разделов. Пример данных:

ли построить диаграмму по разделам, у которых количество услуг > 100 шт., то из 76 разделов получаем 18 лидеров:

Стоматология, диагностика инфекционных заболеваний и аллергология сильно отрываются от остальных в этом хит параде.

Посмотрим теперь срез по ценникам в логарифмическом масштабе по перцентилю > 300К руб. Т.к. если смотреть в обычном масштабе, то Стоматология превращается в ракету по сравнению с остальными.

Но давайте для интереса уберем Стоматологию, как лидера, и посмотрим доли в % по первым 20-ти:

Дальше можно посмотреть еще глубже детализацию самых объемных разделов по услугам. Но пока остановимся на этом.

И теперь, давайте посмотрим, что у нас есть по МЕДСИ. Как говорилось выше, мы ограничились только 5 разделами услуг:

o   Лечение бессонницы и нарушений сна;

o   Лечение головной боли;

o   Лечение полиневропатий;

o   МРТ (магнитно-резонанснаятомография);

o   Прием врача-невролога;

Если посмотрим на сравнительный анализ по количеству услуг в этих 5-ти категориях, то получим:

Картинка выше очень объемная, поэтому давайте ограничимся, например, только разделом Лечение головной боли:

Наверное, один из интересных моментов – это сравнение стоимости услуг сетей. Пока мы не стали заморачиваться с автоматизацией такого дэшборда. Но для примера давайте сравним прием невролога:

Примечательно, у MedSwiss ценники на одну и ту же услугу варьируются в зависимости от категории клиники. У МЕДСИ цены отличаются в зависимости от клиники, в которой оказана услуга. Также видно, что нижняя планка стоимости приема врача-невролога в MedSwiss сопоставима с верхней планкой стоимости этой же услуги в МЕДСИ. Это интересное наблюдение, хотя и касается только невролога. При этом мы помним, что МЕДСИ превосходит кратно MedSwiss в размерах. Возможно у сетей разные стратегии ведения бизнеса. Но это конечно по-хорошему нужно проверять по всем услугам, если задаться такой целью. И возможно мы это сделаем в следующей статье, если поймем по комментариям, что данная тема представляет интерес.

А на этом мы завершим 1ч. на тему парсинга медицинских услуг и анализа полученных открытых данных. Будем рады комментариям/вопросам/советам. Также, если есть предложения по сотрудничеству или какие-либо другие запросы – можно писать в личку здесь или в тг @gromstorm

P.S. Пару слов о нас. Мы команда из 2-х человек. Владелец продукта и разработчик. Опыт в ИТ в корпоративном сегменте за плечами довольно большой. Первые приложения писали еще в начале 2000-х (тогда они назывались программами).
За последние несколько лет перепробовали много разных идей и гипотез, участвовали и побеждали в хакатонах, Цифровой прорыв и т.п. Работаем в крупных компаниях: дизайн/разработка сайтов и финансовый сектор. Это далеко не первый наш подход к снаряду на тему парсинга. Ранее мы уже парсили крупные порталы рунета, но написать об этом решили сейчас. До связи и спасибо за прочтение!)

Комментарии (0)