Лидеры года — новая категория на Workspace Digital Awards! Номинируйте вашу команду, продукты и проекты.
Сергей Меньшиков
Браузерный парсер 2GIS: устойчивый сбор компаний до 5000 записей
Сергей Меньшиков
#Разработка программного обеспечения

Браузерный парсер 2GIS: устойчивый сбор компаний до 5000 записей

Поделиться: 0 0 0
Компания

Собственный продукт

Сфера

Информационные технологии и интернет

Регион

Россия

Сдано

Сентябрь 2026

Задача

Задача — сделать браузерный парсер 2GIS для длительного сбора карточек компаний объёмом до 5000 записей. Расширение должно устойчиво работать при нестабильной выдаче, распознавать экранную ошибку «Что-то пошло не так» даже при успешном HTTP-ответе, не создавать дубли после повторов и сохранять прогресс между циклами. Пользователь должен видеть историю запусков, причины пропусков и состояние очереди.

Решение

Разработано Chrome-расширение версии 0.10.1 с очередью обхода, контролем истории и дедупликацией карточек компаний. Парсер отслеживает не только сетевые статусы, но и содержимое страницы: экранная ошибка 2GIS распознаётся как отказ приложения даже при HTTP 200.

Для временных ошибок реализованы повторы с паузами 1, 2, 4 и 8 секунд. При повторяющихся сбоях расширение автоматически снижает параллелизм, а после четырёх неудачных попыток пропускает проблемный элемент и продолжает цикл. История обработанных карточек сохраняется, поэтому перезапуск и повторный обход не размножают результаты.

Подготовлен устанавливаемый ZIP-пакет расширения и тестовый сценарий длинного цикла. Логика разбита на небольшие проверяемые модули: распознавание ошибок, retry/backoff, адаптивная конкуррентность, очередь, дедупликация и восстановление состояния.

Результат

Собрана рабочая версия расширения 0.10.1 и ZIP-пакет из 9 файлов с зафиксированной контрольной суммой. Набор автоматических проверок завершился результатом 31 из 31, включая отдельный синтетический цикл на 5000 записей.

Парсер продолжает работу после временных ошибок, уменьшает нагрузку при ухудшении ответа и не зависает на одной карточке. Состояние истории и дедупликация сохраняются между попытками. Ошибка, отображаемая самой страницей 2GIS, больше не считается успешной загрузкой только из-за HTTP 200.

После изменения кода живой прогон в Chrome требовал ручной перезагрузки расширения и поэтому отдельно не заявляется как подтверждённый результат. В кейсе отражены проверенные автоматические сценарии и готовый пакет для установки.

Сергей Меньшиков
Сергей Меньшиков

Россия Пермь

Ключевой эффект — длинный сбор не срывается из-за одной нестабильной карточки, а повторы не создают дубли.


Стек технологий

  • CSS CSS Язык программирования
  • HTML HTML Язык программирования
  • JavaScript JavaScript Язык программирования

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку