Собственный продукт
Информационные технологии и интернет
Россия
Сентябрь 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 требовал ручной перезагрузки расширения и поэтому отдельно не заявляется как подтверждённый результат. В кейсе отражены проверенные автоматические сценарии и готовый пакет для установки.
![]()
Сергей Меньшиков
Россия Пермь
Ключевой эффект — длинный сбор не срывается из-за одной нестабильной карточки, а повторы не создают дубли.