{"id":13505,"url":"\/distributions\/13505\/click?bit=1&hash=ca3734639136826288c9056e5c8fa03a05e87c4060ae84df200f2c90f5262470","title":"\u0412\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a? \u0410 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0447\u0442\u043e-\u0442\u043e \u0432 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435 \u043a\u043e\u0434\u0430?","buttonText":"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c","imageUuid":"f5f0e11f-fefd-52f5-8712-82164a59b7ce","isPaidAndBannersEnabled":false}
proTarget

Парсер для принятия решений по объемам закупок

Крупной фармацевтической компании, дистрибьютору лекарственных препаратов, медицинских изделий и техники необходимо оперативно получать информацию по изменениям в реестре лекарственных препаратов и фармацевтических субстанций: что добавлено в реестр, что удалено, что изменилось.

Информация необходима для принятия решений по объемам закупок лекарственных средств с целью оптимизации товарных остатков.

Постановка задачи:

В итоге должен получиться инструмент, который ежедневно сканирует базу размером больше 100 тыс. наименований и находит ежедневные изменения.

Также инструмент должен позволять загружать уже имеющиеся базы данных с препаратами и сравнивать их между собой — находить новые, удаленные и измененные данные.

Как мы подошли к решению задачи:

Для решения задачи мы разработали специальный инструмент — парсер. Это программа, которая в автоматическом режиме собирает нужные данные с нужных сайтов.

1. Прописали логику работы парсера и составили прототип интерфейса.

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

— написали алгоритм парсера таким образом, чтобы для целевых сайтов это воспринималось как действие реального пользователя (имитировали реальный браузер, реальную операционную систему, смоделировали клики мышкой пользователем)

— написали скрипт для автоматического ввода капчи (в случае, если алгоритмы целевых сайтов примут нас за роботов)

— для работы использовали специальные прокси-сервера, которые подменяли реальный IP-адрес сервера. Для целевых сайтов это выглядело как одновременное посещения разных пользователей с разных компьютеров

3. Сравнение данных: ежедневно парсер получал реестр из более чем 100 тыс. наименований. Каждый новый реестр сопоставлялся с предыдущим (т.е. полученным за предыдущий день) и отдельно выводились позиции, в которых отмечались вновь добавленные, удаленные и измененные позиции.

4. Не было точной информации, когда на целевых сайтах происходит обновление данных. В ходе тестов выяснили, что новые данные на сайтах появляются после 03:30 по МСК.

5. Сервер запускался автоматически в ночное время (после 03:30), и к утру менеджеры нашего клиента уже получали информацию об изменениях. Эта информация уже использовалась для принятия управленческих решений.

6. Параллельно созданный нами сервис позволял загружать реестры в формате Excel (.xlsx) и сравнивать их между собой.

7. В результате работы мы подготовили инструкцию по работе с парсером. Все наработки по парсеру заказчик получил на свой сервер.

Как думаете, насколько полезен такой парсер? Оцените в комментариях от 1 до 10 баллов.
0
Комментарии
Читать все 0 комментариев
null