Исходные данные и постановка задачи
Необходимо создать скрипт (парсер), который собирает список названий стран, сервисов и их коды с документации стороннего сервиса SMS-центров. Основной способ получения - работа с их открытым API, однако в случае отсутствия части данных (например, картинок или дополнительных кодов), допускается парсинг страниц HTML прямо из документации (главная страница помощи).
Основные требования к реализации
- Получение ассоциативного массива (страна -> список сервисов с кодами) с API по корпоративному адресу документации (версия v1).
- Автоматическое создание (или обновление) двух файлов в Google Sheets:
- Лист для всех стран (колонки: код страны русское описание английское описание).
- Лист для всех сервисов с обратной привязкой к стране (колонки: код страны название сервиса код сервиса).
- Выгрузка данных должна выполняться исключительно через Google Sheets API (расширенный скриптгас или сервисный аккаунт). Ручное копирование недопустимо.
- Особое требование: из выгрузки должны быть исключены «стоп-слова» по определённым названиям - любые сервисы, содержащие ключевое словок '(Inaccessible)', не должны попадать в итоговую таблицу.
- Автоматизация: запускаете один раз система должны быть готова пополнять таблицу по мере появления новых стран и каналов связи.
Дополнительные контекст и пожелания заказчика
- Приоритет при обработке ошибок - если API работает нестабильно, скрипт должен получать данные напрямую через HTML-песочницу сайта.
- Готовый код должен быть структурирован и разбит на функции (один модуль - одна задача), чтобы его можно было лёгко отлаживать и заменять источники.
- Ссылки и точные материалы объекта задания вам будут переданы напрямую в диалоге (все упоминания сайта в брифе заменены)
- Файлы должны быть доступны Заказчику после первого успешного запуска.
Формат результата
Ожидаемый финальный артефакт: Репозиторий с кодом на Python. готовыми обработанными файлами и документация по настройке API-ключей для последующего деплоя.