Всем привет! Сегодня поговорим о парсинге данных с сайтов сетей медицинских клиник. Мы выбрали это направление по двум причинам: 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 разделов. Пример данных:
![](https://habrastorage.org/getpro/habr/upload_files/4fe/0b7/304/4fe0b730465d90b9e664ac1db9ff4b49.png)
ли построить диаграмму по разделам, у которых количество услуг > 100 шт., то из 76 разделов получаем 18 лидеров:
![](https://habrastorage.org/getpro/habr/upload_files/7d5/a44/664/7d5a446643c7d759420f0bcd6f7939c2.png)
Стоматология, диагностика инфекционных заболеваний и аллергология сильно отрываются от остальных в этом хит параде.
Посмотрим теперь срез по ценникам в логарифмическом масштабе по перцентилю > 300К руб. Т.к. если смотреть в обычном масштабе, то Стоматология превращается в ракету по сравнению с остальными.
![](https://habrastorage.org/getpro/habr/upload_files/f8b/59a/085/f8b59a085ff213703a8cf7d70a3a5876.png)
Но давайте для интереса уберем Стоматологию, как лидера, и посмотрим доли в % по первым 20-ти:
![](https://habrastorage.org/getpro/habr/upload_files/277/5aa/bef/2775aabefe829fa6d0462d359e0c2868.png)
Дальше можно посмотреть еще глубже детализацию самых объемных разделов по услугам. Но пока остановимся на этом.
И теперь, давайте посмотрим, что у нас есть по МЕДСИ. Как говорилось выше, мы ограничились только 5 разделами услуг:
o Лечение бессонницы и нарушений сна;
o Лечение головной боли;
o Лечение полиневропатий;
o МРТ (магнитно-резонанснаятомография);
o Прием врача-невролога;
Если посмотрим на сравнительный анализ по количеству услуг в этих 5-ти категориях, то получим:
![](https://habrastorage.org/getpro/habr/upload_files/073/d44/be3/073d44be33c9818d3454d372ccb083f7.png)
Картинка выше очень объемная, поэтому давайте ограничимся, например, только разделом Лечение головной боли:
![](https://habrastorage.org/getpro/habr/upload_files/12c/9c7/6bc/12c9c76bc4e8f86ddcd586784e75471f.png)
Наверное, один из интересных моментов – это сравнение стоимости услуг сетей. Пока мы не стали заморачиваться с автоматизацией такого дэшборда. Но для примера давайте сравним прием невролога:
![](https://habrastorage.org/getpro/habr/upload_files/ff3/583/4bb/ff35834bb19db1190ebd63541af8140b.png)
Примечательно, у MedSwiss ценники на одну и ту же услугу варьируются в зависимости от категории клиники. У МЕДСИ цены отличаются в зависимости от клиники, в которой оказана услуга. Также видно, что нижняя планка стоимости приема врача-невролога в MedSwiss сопоставима с верхней планкой стоимости этой же услуги в МЕДСИ. Это интересное наблюдение, хотя и касается только невролога. При этом мы помним, что МЕДСИ превосходит кратно MedSwiss в размерах. Возможно у сетей разные стратегии ведения бизнеса. Но это конечно по-хорошему нужно проверять по всем услугам, если задаться такой целью. И возможно мы это сделаем в следующей статье, если поймем по комментариям, что данная тема представляет интерес.
А на этом мы завершим 1ч. на тему парсинга медицинских услуг и анализа полученных открытых данных. Будем рады комментариям/вопросам/советам. Также, если есть предложения по сотрудничеству или какие-либо другие запросы – можно писать в личку здесь или в тг @gromstorm
P.S. Пару слов о нас. Мы команда из 2-х человек. Владелец продукта и разработчик. Опыт в ИТ в корпоративном сегменте за плечами довольно большой. Первые приложения писали еще в начале 2000-х (тогда они назывались программами).
За последние несколько лет перепробовали много разных идей и гипотез, участвовали и побеждали в хакатонах, Цифровой прорыв и т.п. Работаем в крупных компаниях: дизайн/разработка сайтов и финансовый сектор. Это далеко не первый наш подход к снаряду на тему парсинга. Ранее мы уже парсили крупные порталы рунета, но написать об этом решили сейчас. До связи и спасибо за прочтение!)