Платформа управления распределенными поисковыми роботами на основе Golang поддерживает несколько языков программирования, таких как Python, NodeJS, Java, Go, PHP, а также несколько фреймворков для поисковых роботов.
Поскольку проект был запущен в марте этого года, он был хорошо принят энтузиастами и разработчиками краулеров.Многие пользователи также заявили, что будут использовать Crawlab для создания платформы краулеров компании. После нескольких месяцев итерации мы последовательно запустили такие функции, как временные задачи, анализ данных, информация о веб-сайте, настраиваемые сканеры, автоматическое извлечение полей, загрузка результатов и загрузка сканеров, что сделало Crawlab более практичным и всесторонним, что действительно может помочь пользователям решить проблему. проблема трудностей управления обходчиком.
Crawlab в основном решает проблему сложного управления большим количеством поисковых роботов, например, необходимость отслеживать гибридизацию сотен веб-сайтов.scrapy
иselenium
В то же время управлять проектами непросто, а управление через командную строку очень затратно и чревато ошибками. Crawlab поддерживает любой язык и любую структуру, с планированием задач и мониторингом задач, что позволяет легко эффективно отслеживать и управлять крупномасштабными проектами поисковых роботов.
обновить содержимое
в этот разv0.3.0
Эта версия представляет собой крупное обновление, в основном заменяющее исходную версию Python на основе Celery на Golang в фоновом режиме. Обновления следующие:
- Серверная часть Голанга: Рефакторинг исходного кода Python для Golang для повышения стабильности и производительности.
- Топология узла: визуализирована топология узла
- Информация о системе узла: Вы можете просмотреть системную информацию об узле, такую как операционная система, количество процессоров, исполняемые файлы и т. д.
- Обновление мониторинга узла: узел регистрируется для мониторинга через Redis.
- управление файлами: Может изменять файлы сканера и обеспечивать подсветку кода.
- Вход/Регистрация/Управление пользователями: требовать от пользователей входа в систему для использования Crawlab, разрешить регистрацию пользователей и управление пользователями, а также добавить управление разрешениями на основе ролей.
- Автоматическое развертывание сканера: сканер автоматически синхронизируется/устанавливается на все онлайн-узлы.
- Меньший образ Docker: Благодаря многоэтапной сборке исходный размер образа Docker был уменьшен с 1,3 ГБ до 700 МБ.
Зачем проводить рефакторинг Crawlab
Первоначальная цель рефакторинга с помощью Golang — устранить некоторые фундаментальные ошибки, такие как временные задачи, которые не могут запускаться стабильно, узлы не отображаются автоматически как автономные и так далее. Рефакторинг API станет более стабильным и производительным: раньше время отклика списка задач составляло несколько сотен миллисекунд, а теперь — всего несколько миллисекунд. Кроме того, этот рефакторинг оптимизирует процесс использования пользователем. Например, до того, как искатель нужно было развертывать вручную, пользователю нужно было много раз щелкнуть мышью, чтобы запустить его; но теперь все искатели развертываются автоматически за счет пользователя. требуется подождать менее 1 минуты после загрузки искателя. После того как файл искателя будет развернут на всех узлах через GridFS, он может работать (конечно, главный узел может работать напрямую). Этот рефакторинг также добавляет некоторые дополнительные функции, такие как функция разрешений пользователей (обеспечивающая базовое управление разрешениями), топология узлов, управление файлами и так далее. В целом, это обновление делает Crawlab более стабильным и полезным.
Предварительный просмотр скриншота Crewnhab
Авторизоваться
титульная страница
Список узлов
Топология узла
Список сканера
Обзор сканера
Поисковый анализ
файл сканера
Сведения о задаче — результаты сканирования
задача на время
Почему нет настраиваемого сканера
К сожалению, из-за нехватки времени настраиваемый сканер не был перенесен на новую версию Crawlab. Но мы добавим эту функцию позже.
следующий план
- Управление журналами, более централизованное управление журналами
- Поддержка других баз данных SQL, поддержка хранения результатов в основных базах данных, таких как MySQL и Postgres.
- Настраиваемый сканер
- Мониторинг исключений, исключение ошибок журнала, исключение нулевого значения и т. д.
- Визуализация статистики, дополнительные функции построения диаграмм
Однако, если у вас есть идея получше, пожалуйста, не стесняйтесь спрашивать об этом.
Сообщество
Если вы считаете, что Crawlab полезен для вашего повседневного развития или компании, пожалуйста, добавьте автора WeChat tikazyq1 и укажите «Crawlab», автор притянет вас в группу. Звезды приветствуются на Github, и если у вас возникнут какие-либо проблемы, пожалуйста, не стесняйтесь поднимать вопросы на Github. Кроме того, вы можете внести свой вклад в развитие Crawlab.