Паррсер-краулер на Go

30 000 руб. за проект
14 октября 2024, 18:34 • 4 отклика • 31 просмотр
Цели проекта:

Разработка краулера на языке Golang, предназначенного для сканирования веб-сайтов с целью выявления SEO-ошибок. Краулер должен быть интегрирован в существующий сервис, предоставлять данные для последующего анализа и поддерживать многопоточное выполнение заданий.

Основные требования:

  • Модульность: Краулер должен быть реализован как отдельный модуль, способный интегрироваться с существующими системами.
  • Эффективность и минимальная нагрузка: Краулер должен эффективно использовать системные ресурсы, обеспечивая минимальную нагрузку на сканируемые сайты.
  • Конфигурируемость: Все параметры настройки краулера должны браться из базы данных MySQL.
Функциональные требования:

  • Сбор базовых SEO-данных:
    • HTTP статус коды страниц.
    • Наличие и корректность тегов <title>, <meta name="description">.
    • Наличие H1 и их уникальность в пределах одной страницы.
    • Проверка наличия атрибутов alt у изображений.
    • Проверка наличия внешних ссылок
    • Анализ на наличие https протокола для обеспечения безопасности соединения.
    • Сбор внутренних ссылок с привязкой к странице, с которой идет ссылка и какой статус отдает.
  • Поддержка robots.txt: Краулер должен учитывать файл robots.txt сайтов, не обрабатывая запрещённые для индексации страницы и ресурсы.
  • Многопоточность: Краулер должен быть многопоточным и способен выполнять одновременно несколько заданий.
  • Уведомления о завершении задания: По завершению каждого задания краулер должен отправлять вебхук на заданный URL.
  • Работа как сервис: Краулер должен работать в режиме демона или сервиса, который может управляться посредством HTTP запросов.
  • Получение статусов заданий по HTTP: Возможность получения текущего статуса заданий через HTTP запросы.
Технические требования:

  • Использование Go: Краулер должен быть написан на языке программирования Go.
  • Библиотеки: Рекомендуется использование библиотеки Colly для краулинга и Goquery для парсинга HTML-документов.
  • Логирование: Необходима система логирования для отслеживания ошибок и предупреждений в процессе работы краулера.
  • Конфигурация: Параметры краулера должны задаваться через внешний конфигурационный файл и храниться в базе данных MySQL.
Разработка:

  • Разработка: Код должен быть чистым, хорошо структурированным и соответствовать стандартам кодирования Go.
  • Документация: Разработать подробную документацию по работе с краулером, включая описание параметров конфигурации, инструкции по управлению сервисом и получению статусов заданий через HTTP.
Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Николай выполнил задачу по разработке парсера-кроулера на Go с высоким профессионализмом. Все требования были учтены, работа выполнена в срок и с отличным качеством. Особенно порадовало внимание к деталям и способность предложить оптимальные решения. Очень доволен сотрудничеством, рекомендую Николая как ответственного и грамотного разработчика!
2 месяца назад
Отличная постановка задачи, помощь и ответы по ходу работы.
Правильный упор на чистоте кода - ибо это залог долгосрочной работоспособности.
После приёмки - мгновенная оплата.
Побольше бы таких клиентов!
Буду рад дальнейшему сотрудничеству!
2 месяца назад