Как развернуть скрап-паука в продакшене?
Этот блог является частью серии обучающих материалов: ЧАСТЬ 1, ЧАСТЬ 2, ЧАСТЬ 3, ЧАСТЬ 4, ЧАСТЬ 5.
Запуск пауков Scrapy на вашем локальном компьютере очень удобен на (ранней) стадии разработки, но не так удобен, когда вам нужно запускать долго работающие пауки или перемещать пауков для непрерывной работы в рабочей среде. Вот тут-то и появляются решения для развертывания пауков Scrapy.
Популярные варианты развертывания пауков Scrapy:
- Скрапид (из открытых источников) — 🆓
- Zyte Scrapy Cloud (облачное) — 💰
Давайте посмотрим, как мы можем развернуть паука с помощью Scrapyd.
Развертывание на сервере Scrapyd
Scrapyd — это приложение с открытым исходным кодом для запуска пауков Scrapy. Он предоставляет сервер с HTTP API, способный запускать и отслеживать пауков Scrapy.
Чтобы развернуть пауков в Scrapyd, вы можете использовать инструмент scrapyd-deploy, предоставляемый пакетом scrapyd-client. Пожалуйста, обратитесь к документации по scrapyd-deploy для получения дополнительной информации.
Scrapyd поддерживается некоторыми разработчиками Scrapy.
Установить пакеты
pip install scrapyd pip install scrapyd-client
Запустите сервер скрапид
$ scrapyd
Вы должны увидеть что-то вроде
Если вы запустите http://localhost:6800/ в своем браузере, вы должны увидеть
Теперь у нас есть запущенный сервер scrapyd, мы должны развернуть здесь нашего паука, используя следующие команды.
Обновите quotesspider/scrapy.cfg
до следующего кода
scrapy.cfg
– это файл конфигурации развертывания, в котором описывается, как вы собираетесь развертывать паука.
[settings] default = quotesspider.settings [deploy:local] url = http://localhost:6800/ # where is your scrapyd server running project = quotesspider # project name
Теперь беги
$ cd quotesspider # format: scrapyd-deploy <target> -p project $ scrapyd-deploy local -p quotesspider
Это украсит ваш проект и загрузит его в цель. Если в вашем проекте есть файл setup.py
, он будет использован, в противном случае он будет создан автоматически. В случае успеха вы должны увидеть ответ JSON, подобный следующему:
Теперь вы можете начать планирование/запуск паука, используя
$ scrapyd-client schedule -p <project_name> <spider_name> $ scrapyd-client schedule -p quotesspider quotes
Теперь, если вы зайдете на http://localhost:6800/jobs, вы увидите, что наш паук работает.
Вы можете посмотреть журнал
Ууууу !! Мы развернули нашего паука. Вы можете запустить scrapyd где угодно (может быть в облаке), заменить url
на scrapy.cfg
и развернуть таким же образом.
Это обертка!!
Удачной разборки!! 🕷
Пожалуйста, оставьте комментарий, если у вас возникнут какие-либо проблемы