Написание парсера для сайта apteka.ru
Необходимо написать парсер (веб-скраппер) для сайта apteka.ru.
Стек/Язык программировани/Используемые библиотеки абсолютно не важны.
Парсеру на вход поступают либо текстовые запросы, либо ссылки. Парсер должен вернуть .csv файл с данными.
Сразу напишу что это очень не тривиальная задача. Если вы не гуру в написании парсеров и не умеете обходить различные защиты, то лучше проходите мимо и не тратье ни свое, ни наше время.
На сайте стоит защита QRATOR + кастомная защита с капчей.
Парсер должен работать в двух режимах:
Регионы необходимо сдать в формате json:
{"Название региона на русском": "Занчение для установки этого региона в парсере",}
Также одно из важнейших требований - скорость сбора. Нам необходимо обрабатывать не менее 1 млн ссылок в сутки
В идеале будет использовать примерно такой шаблон кода:
Стек/Язык программировани/Используемые библиотеки абсолютно не важны.
Парсеру на вход поступают либо текстовые запросы, либо ссылки. Парсер должен вернуть .csv файл с данными.
Сразу напишу что это очень не тривиальная задача. Если вы не гуру в написании парсеров и не умеете обходить различные защиты, то лучше проходите мимо и не тратье ни свое, ни наше время.
На сайте стоит защита QRATOR + кастомная защита с капчей.
Парсер должен работать в двух режимах:
- Через поиск на сайте
- Через загруженные в парсер ссылки
- Загружаются запросы в парсер
- Парсер собирает со всех страниц выдачи все ссылки товаров
- Затем открывает все полученные ранее ссылки и с них собирает все необходимые данные
- Загружаются ссылки в парсер
- Эти ссылки открываются парсером и с них собираются все необходимые данные
- Наименование товара
- Производитель
- Наличие товара
- Цена
- Цена со скидкой
- Форма выпуска (мазь, пилюли и т.п.)
- Дозировка лекарства
- Объем
- Ссылка на товар
- Ссылка на основное изображение товара
- Дата сбора (в формате timestamp)
Регионы необходимо сдать в формате json:
{"Название региона на русском": "Занчение для установки этого региона в парсере",}
Также одно из важнейших требований - скорость сбора. Нам необходимо обрабатывать не менее 1 млн ссылок в сутки
В идеале будет использовать примерно такой шаблон кода:
- Функция parse. Грубо говоря это main, в котором будет происходить распределение это сбор по поиску или по карточкам.
- Функция parsePage. Здесь происходят все необходимые действия для сбора данных с поиска
- Функция parseCard. Здесь происходят все необходимые действия для сбора данных с карточки товара
- Функция makeRequest. Здесь происходят запросы к сайту
- Парсер работает и по поисковым запросам и по ссылкам
- Парсер собирает все необходимые данные с карточек
- Парсер верно собирает цены для различных регионов
- Вы написали json с регионами и значениями для их установки
- Парсер работает с необходимой для нас скоростью
- Парсер должен стабильно отработать в течении месяца на наших серверах