Распределенное управление Gerapy распределенным развертыванием поисковых роботов

задняя часть база данных рептилия Scrapy

Мы можем развернуть проекты Scrapy в Scrapyd через Scrapyd-Client и контролировать работу Scrapy через Scrapyd API. Итак, можем ли мы сделать лучше? Может ли метод быть более удобным и контролируемым?

Давайте еще раз проанализируем текущие проблемы, которые можно оптимизировать.

  • При развертывании с помощью Scrapyd-Client вам необходимо настроить адреса каждого хоста в файле конфигурации, а затем использовать командную строку для выполнения процесса развертывания. Если мы опустим адресную конфигурацию каждого хоста и подключим командную строку к графическому интерфейсу, нам нужно будет только нажать кнопку, чтобы выполнить пакетное развертывание, что более удобно.

  • С помощью Scrapyd API можно управлять запуском и завершением задач Scrapy, но для реализации многих операций по-прежнему требуется код, а получение журналов сканирования затруднительно. Если у нас есть графический интерфейс, нам нужно всего лишь нажать кнопку, чтобы запустить и остановить задачи сканирования, и мы также можем просматривать отчет журнала сканирования в режиме реального времени, что значительно сэкономит наше время и энергию.

Итак, наша конечная цель заключается в следующем.

  • Удобнее контролировать работу обходчика;

  • Более интуитивно понятный просмотр состояния сканера;

  • Просмотр результатов сканирования в режиме реального времени;

  • Более простая реализация развертывания проекта;

  • Более унифицированная реализация управления хостом.

Всю вышеперечисленную работу можно выполнить с помощью Gerapy.

Gerapy — это распределенная среда управления поисковым роботом, основанная на Scrapyd, Scrapyd API, Django и Vue.js. Далее будет кратко описано, как его использовать.

1. Подготовка

Убедитесь, что Gerapy установлен правильно.

2. Инструкция по применению

использоватьgerapyКоманда для создания нового проекта, команда выглядит следующим образом:

gerapy init

Создайте папку gerapy в текущем каталоге. Войдите в папку gerapy, и вы найдете пустую папку проектов, о которой будет сказано позже.

Затем сначала инициализируйте базу данных:

gerapy migrate

Это создаст базу данных SQLite, в которой будет храниться информация о конфигурации, версии развертывания и т. д. для каждого хоста.

Запустите службу Gerapy с помощью следующей команды:

gerapy runserver

Это включит службу Gerapy на порту 8000 по умолчанию. Мы используем браузер, чтобы открыть: http://localhost:8000, вы можете войти на страницу управления Gerapy, которая предоставляет функции управления хостом и управления проектами.

Добавьте рабочий адрес и порт Scrapyd каждого хоста в управлении хостами и пометьте их именами. После этого каждый хост появится в списке хостов. Gerapy будет отслеживать рабочее состояние каждого хоста и присваивать ему различные статусы, как показано на следующем рисунке.

Только что мы упомянули, что в каталоге gerapy есть пустая папка проектов, в которой хранится каталог Scrapy. Если вы хотите развернуть проект Scrapy, просто поместите файл проекта в папку проектов.

Здесь я разместил два проекта Scrapy, как показано на изображении ниже.

Вернитесь к интерфейсу управления Gerapy, нажмите «Управление проектами», и вы увидите текущий список проектов, как показано на следующем рисунке.

Поскольку здесь есть записи об упаковке и развертывании, они показаны здесь отдельно.

Gerapy обеспечивает онлайн-редактирование проектов. Нажмите «Редактировать», чтобы отредактировать проект визуально, как показано на следующем рисунке.

Если с проектом проблем нет, вы можете нажать Развернуть, чтобы упаковать и развернуть. Проект необходимо упаковать перед развертыванием, а описание версии можно указать при упаковке, как показано на следующем рисунке.

После завершения упаковки просто нажмите кнопку развертывания, чтобы развернуть упакованный проект Scrapy на соответствующий облачный хост, и его также можно развернуть пакетами, как показано на следующем рисунке.

После завершения развертывания вы можете вернуться на страницу управления хостом, чтобы запланировать задачи. Нажмите «Расписание», чтобы перейти на страницу управления задачами, где вы можете просмотреть статус выполнения всех задач на текущем хосте, как показано на следующем рисунке.

Мы можем запускать и останавливать задачи, нажимая такие кнопки, как новая задача и остановка, В то же время мы можем просматривать подробности журнала, расширяя запись задачи, как показано на следующем рисунке.

Таким образом, мы можем просматривать статус выполнения каждой задачи в режиме реального времени.

Приведенное выше содержание является кратким введением в функции Gerapy. С помощью Gerapy мы можем легче управлять, развертывать и контролировать проекты Scrapy, особенно для распределенных сканеров, будет удобнее использовать Gerapy.

Для получения дополнительной информации посетите адрес GitHub Gerapy: https://github.com/Gerapy.

3. Заключение

В этом разделе мы представляем простое использование Gerapy, с помощью которого мы можем легко реализовать развертывание и управление проектами Scrapy, что может значительно повысить эффективность.