На главную

Веб-скрейпер на Node.js для сбора данных о домах для престарелых

Задача:Разработать веб-скрейпер на <strong>Node.js</strong> для автоматизированного сбора данных с сайта, посвящённого поиску мест ухода за пожилыми людьми. Помимо сбора данных, реализовать минимальный пользовательский интерфейс (UI) для удобной работы с инструментом.<br><br>Основные требования:<ol><li><strong>Сбор данных:</strong><br><br><ul><li>Сайт содержит две структуры данных:<ol><li>Общая таблица с информацией о всех институциях.</li><li>Страницы каждой отдельной институции с подробной информацией (около 20 полей для каждой).</li></ol></li><li>Скрейпер должен собирать данные из обоих уровней:<ul><li><strong>Общая таблица</strong>: собрать базовые данные (название, адрес, основные параметры).</li><li><strong>Страницы институций</strong>: извлечь более детализированную информацию.</li></ul></li></ul></li><li><strong>Маскировка под человека:</strong><br><br><ul><li>Реализация запросов должна быть выполнена так, чтобы минимизировать риск обнаружения скрейпинга:<ul><li>Использование задержек между запросами с рандомизацией.</li><li>Изменение User-Agent при каждом запросе.</li><li>Поддержка прокси-серверов (опционально).</li><li>Использование механизма эмуляции браузера, например, через Puppeteer.</li></ul></li></ul></li><li><strong>Авторизация:</strong><br><br><ul><li>Сайт требует авторизацию через логин и пароль.</li><li>Скрейпер должен поддерживать ввод учетных данных (логин/пароль) для выполнения авторизации.</li></ul></li><li><strong>Хранение данных:</strong><br><br><ul><li>Данные должны быть сохранены в формате <strong>CSV</strong> или <strong>JSON</strong> для дальнейшего анализа.</li><li>Поддержка логирования процесса (например, список успешных/неудачных скрейпингов).</li></ul></li><li><strong>Минимальный пользовательский интерфейс (UI):</strong><br><br><ul><li>Веб-интерфейс или десктопное приложение с функциями:<ul><li>Ввод логина и пароля.</li><li>Настройка параметров скрейпинга (задержка запросов, выбор институций и т.д.).</li><li>Запуск, остановка, и мониторинг процесса сбора данных.</li><li>Возможность экспорта собранных данных.</li></ul></li></ul></li></ol>Технические детали:<ol><li><strong>Технологии:</strong><br><br><ul><li>Node.js</li><li>Puppeteer или Playwright (для работы с динамическими страницами и эмуляции браузера).</li><li>Express.js (для создания интерфейса) или Electron (если предпочтение отдается десктопному приложению).</li></ul></li><li><strong>Архитектура:</strong><br><br><ul><li>Модульная структура:<ul><li><strong>Авторизация</strong>: отдельный модуль для работы с логином/паролем.</li><li><strong>Сбор данных</strong>: модуль для обработки таблиц и страниц институций.</li><li><strong>Интерфейс</strong>: модуль для визуализации и управления процессом.</li></ul></li></ul></li><li><strong>Дополнительные функции:</strong><br><br><ul><li>Поддержка многопоточности (если скрейпинг нескольких страниц требует ускорения).</li><li>Автоматическая обработка ошибок (например, повторный запрос при временной неудаче).</li></ul></li><li><strong>Тестирование:</strong><br><br><ul><li>Проверить скрейпер на стабильность работы с большим объемом данных.</li><li>Убедиться в корректности сохранения данных.</li></ul></li></ol>Критерии завершения:<ul><li>Скрипт успешно авторизуется на сайте и собирает данные в указанном формате.</li><li>Реализован минимальный интерфейс для управления процессом.</li><li>Данные сохраняются без ошибок, и инструмент работает без блокировки со стороны сайта.</li></ul>

Создать лендинг для клининговой компании

О проекте Сфера: профессиональная уборка (B2B и B2C) Цель сайта: генерация заявок, повышение узнаваемости, формирование имиджа, привлечение клиентов. Тип сайта: Лендинг...

Перевод трудового договора с русского на английский

Нужен профессиональный перевод трудового договора с русского на английский. 3 листа. ChatGPT и google.translate не подходят. цена договорная 2025-03-22

Анализ просадок MSSQL на Windows Server

ЗдравствуйтеНужен DevOps на проект (или просто человек с опытом администрирования MSSQL и Windows Server) Текущая задача - провести анализ производительности системы.Проблема:...