Фронтенд
Фронтенд-приложение создано на основе Element-Plus, популярного фреймворка пользовательского интерфейса на базе Vue 3. Оно взаимодействует с API, размещённым на главном узле, и косвенно управляет рабочими узлами.
Crawlab SDK предоставляет некоторые вспомогательные методы, которые упрощают интеграцию ваших пауков в Crawlab, например сохранение результатов.
В settings.py
вашего проекта Scrapy найдите переменную с именем ITEM_PIPELINES
(переменная типа dict
). Добавьте содержимое ниже.
ITEM_PIPELINES = {
'crawlab.scrapy.pipelines.CrawlabPipeline': 888,
}
Затем запустите паука Scrapy. После завершения работы вы сможете увидеть результаты сканирования в разделе Задача детализации -> Данные.
Добавьте следующее содержимое в файлы пауков, чтобы сохранить результаты.
# импортировать метод сохранения результатов
from crawlab import save_item
# это запись результата, должна быть переменная типа dict
result = {'name': 'crawlab'}
# вызвать метод сохранения результата
save_item(result)
Затем запустите паука. После завершения работы вы сможете увидеть результаты сканирования в разделе Задача детализации -> Данные.
Задача сканирования фактически выполняется через командную строку. Идентификатор задачи будет передан процессу задачи сканирования в виде переменной среды с именем CRAWLAB_TASK_ID
. Таким образом, данные можно связать с задачей.
Существуют существующие платформы управления пауками. Зачем использовать Crawlab?
Причина в том, что большинство существующих платформ зависят от Scrapyd, который ограничивает выбор только Python и Scrapy. Конечно, Scrapy — отличный фреймворк для веб-сканирования, но он не может делать всё.
Crawlab прост в использовании, достаточно универсален, чтобы адаптировать пауков на любом языке и в любой среде. У него также есть красивый интерфейс фронтенда, позволяющий пользователям гораздо проще управлять пауками.
Фреймворк | Технология | Плюсы | Минусы | Статистика Github |
---|---|---|---|---|
Crawlab | Golang + Vue | Не ограничивается Scrapy, доступен для всех языков программирования и фреймворков. Красивый интерфейс UI. Естественно поддерживает распределённых пауков. Поддерживает управление пауками, управление задачами, задание cron, экспорт результатов, аналитику, уведомления, настраиваемые пауки, онлайн-редактор кода и т. д. | Пока не поддерживает управление версиями пауков |
|
ScrapydWeb | Python Flask + Vue | Красивый интерфейс UI, встроенный анализатор журналов Scrapy, статистика и графики выполнения задач, поддержка управления узлами, задание cron, уведомление по электронной почте, мобильное приложение. Полнофункциональная платформа управления пауками. | Не поддерживает пауков кроме Scrapy. Ограниченная производительность из-за бэкенда Python Flask |
|
Gerapy | Python Django + Vue | Gerapy создан гуру веб-краулеров Germey Cui. Простая установка и развёртывание. Красивый интерфейс UI. Поддержка управления узлами, редактирования кода, настраиваемых правил сканирования и т.д. | Опять же не поддерживает пауков кроме Scrapy. Множество ошибок на основе отзывов пользователей в версии v1.0. Надеемся на улучшение в версии v2.0 |
|
SpiderKeeper | Python Flask | Open-source Scrapyhub. Краткий и простой интерфейс UI. Поддерживает задание cron. | Возможно, слишком упрощён, не поддерживает разбиение на страницы, не поддерживает управление узлами, не поддерживает пауков кроме Scrapy |
|
Если вы считаете, что Crawlab может быть полезен в вашей повседневной работе или в компании, пожалуйста, добавьте автора в Wechat с пометкой «Crawlab», чтобы присоединиться к обсуждению. Или отсканируйте QR-код Alipay ниже, чтобы вознаградить нас и помочь улучшить наше командное программное обеспечение или купить кофе.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )