Программа для автоматического сбора навигационных данных с защищенного веб-ресурса
2025669120
23.07.2025
2025665067
17.06.2025
Программа предназначена для автоматизированного сбора, обработки и сохранения навигационных данных о морских судах с защищённого веб-ресурса, таких как координаты, курс, скорость, флаг, порт назначения и некоторых других. Данные извлекаются с сервиса MarineTraffic путём взаимодействия с веб-интерфейсом с помощью Chrome в headless режиме. Особенностью реализации является использование низкоуровневых сетевых событий браузера (через Chrome Developer Protocol) для перехвата API-запросов и извлечения содержимого ответа без необходимости непосредственного использования API сервиса. Собранные данные дополнительно обрабатываются и структурируются. Обработка включает в себя фильтрацию, удаление дубликатов и временную нормализацию. Полученный набор данных может быть сохранён в формате JSON, а также загружен в предварительно настроенную базу данных PostgreSQL. Загруженные данные в БД сопровождаются метаинформацией о времени сбора и идентификаторами сессий. Программа реализует следующие функции: автоматическое управление браузером и обход cookie-уведомлений; динамическую навигацию по координатам из файла positions.json; захват и парсинг сетевого трафика браузера для получения информации о судах; фильтрацию и нормализацию информации о морских судах; сериализацию данных в формат JSON; загрузку данных в СУБД PostgreSQL с проверкой и добавлением недостающих справочных данных (флаги, направления); регистрацию события парсинга с временными метками начала и завершения процесса; использование Docker-контейнера и автоматический запуск процесса через shell-скрипт.
Программа может масштабироваться и модифицироваться для других источников данных, интегрироваться в системы мониторинга. Данные, собранные программой, могут использоваться в научно-исследовательской работе, в сфере морской логистики, для мониторинга и анализа движения судов.