Как я написал многопоточный парсер на Python для сбора GEO-данных с международной автопартнерки: 18 000 точек, 8 потоков и 40 RPS

Автор делится кейсом по созданию кастомного Python-парсера для сбора GEO-данных с сайта международной автопартнерки (аренда авто). Основная задача — выгрузить актуальную базу точек выдачи с координатами по всему миру, несмотря на ограничения API и сложности парсинга.

Ключевые трудности:

  • Сайт возвращает не более 10 объектов за раз, требует CSRF-токен и строгую логику обхода (country → region → city → location), иначе выдаёт пустые ответы или банит.
  • Пришлось реализовать многопоточность (до 8 потоков и прокси), обход префиксами (BFS), автоматическую дедупликацию и постоянные бэкапы состояния. Использовалась архитектура двух очередей для обработки данных и записи в файл.
  • Изначально скрипт работал 18 часов в однопоточном режиме, но после оптимизации (многопоток + прокси) — ускорился до 35–40 минут при 40 RPS на API.
  • В процессе было собрано ~18 000 уникальных точек, обработано множество ошибок и реализованы решения для обхода лимитов, защиты от падений, восстановления после сбоев и live-телеметрии через tqdm и rich.

Результат — универсальный парсер, который можно адаптировать под любые задачи парсинга с подобной структурой API, а также ценный разбор типовых проблем: лимитов, архитектуры парсера, очередей, многопоточности, прокси и устойчивости.

Читайте также

  1. ML Q & AI. Глава 2: Self-Supervised обучение
  2. Как внедрить AI-чат в бизнес: инструкция для роста среднего чека и лояльности
  3. ИИ развивается и меняет наше представление о реальности
  4. ИИ — помощник или конкурент? Практика внедрения нейросети в работу системного аналитика банка
  5. Почём ИИ для народа: тест платформы YADRO G4208P с восемью H100 NVL и RTX 4090 на 10 ИИ-моделях
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!