[Парсер] Автоматический сбор информации с крупнейшего маркетплейса РФ и последующая выгрузка её в БД
В рамках заказа от одной небезызвестной компании пришлось написать парсер, который бы собирал информацию по 7400+ категориям товаров на WildBerries и затем выгружал в удалённую базу данных MySQL
Схема такова: по каждой интересующей категории выдёргиваем JSON и получаем следующую информацию:
- Название категории
- Нормализованное название (бывает такое, что названия склоняют по падежам, и от этого меняется количество выданных товаров, что неэффективно. Отдельная же моя функция анализирует всевозможные склонения и выбирает тот, при котором количество выданных товаров наибольшее)
- Количество товаров в данной категории
- Количество запросов в месяц (таким образом можно проверить ликвидность товара на рынке)
- Средняя цена за ТОП-3 товара в этой категории (3 первые карточки на странице выдачи)
- ТОП-4 Рекламные ставки, которые платят продавцы WildBerries за нахождение на первых позициях в поиске (это бизнес, детка!)
Зачем за раз анализировать одну категорию, если можно десятки? С этой целью я создал (именно создал, а не использовал готовую) реализацию семафоров, чтобы ограничить количество потоков, способных работать одновременно. Этот параметр можно без проблем подкрутить, поигравшись со скоростью P.S. Для себя я вывел число 50 - это оптимальное количество потоков, когда скорость грамотно сочетается с сохранностью данных