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

Для выполнения задачи понадобилось:
1.Анализ сайта и структуры данных Autopiter.ru: особенности отображения информации по артикулам и брендам, определение какие данные доступны после авторизации, проверили формат ответов и ограничения, зафиксировали, какие поля для выгрузки нам нужны: поставщик, производитель, название, цена, сроки поставки, наличие, рейтинг и др.
2.Исследование защиты от парсинга: определили, что Автопитер использует сложную защиту, решили использовать официальный WEB- сервис для корректного и стабильного сбора
3. Настройка доступа к Web-сервису: предоставляем инструкцию заказчику как подать заявку на доступ
4. Реализация двух режимов сбора данных: через аккаунты юридических и физических лиц
5. Разработка парсера: создали программу с интерфейсом загрузки входных файлов(Input.xlsx, реализовали логику запроса данных, настроили обработку и логирование ошибок, добавили шаблон менять выгрузку под запрос клиента
6. Формирование выходного файла (Output.xlsx): автоматическая выгрузка собранных данных: количество предложений, цена заказчика, рекомендуемая цена, процент наценки, остатки, сроки поставки и др.; добавили гибкие настройки по изменению количества складов конкурентов и вида отчетов.
Результат:
Как работает программа:
Как уже упоминалось ранее, есть два варианта сбора информации на сайте Автопитер: через аккаунты юридических или физических лиц.
В первом случае есть лимит на сбор: 1000 запросов(500 позиций) в день. Необходимо подключение 1 прокси(чтобы не отображался Ваш IP- адрес).
Во втором варианте лимитов нет, скорость выше, однако цены будут отличаться от тех, которые собираются через аккаунты юридических лиц. Также предусматривает подключение прокси, но в большем объеме.
Необходимы авторизационные данные клиента, чтобы парсер подтянул данные по его складу в выгружаемый файл, а также название склада для определения позиций клиента.
Во входной файл(Input) вставляем наименования бренда и артикула.

Запускаем программу, ждем пока соберутся все позиции. Результаты находим в папке Output.

Более подробно Вы можете ознакомиться с данной программой по ссылке
Часов понадобилось:
26 часов