Задать вопрос
@hebrian_vasyl
Веб-разработчик

Как правильно запустить парсер на Scrapy?

Добрый день.
Стоит задача парсить сайты, на подобии avito.ru
Сайтов больше 20, под каждый сайт написан свой spider
Данные парсятся, и записываются в базу данных через Pipeline (один для всех)

Вопрос: как запустить парсер, что бы он работал все время?
Запустил 20 спайдеров, и что бы каждый, независимо от других, после окончания запускался заново.
Пробовал через CrawlerProcess и CrawlerRunner, reactor, но у меня не получилось. Спайдер запускался 1 раз, а на втором запуске ошибка, что proccess (или reactor) нельзя перезапустить.

Пока что решил задачу вот таким bash-скриптом:
#!/bin/bash

cd '/path/to/spider/folder'

while [ True ]
do
scrapy crawl my_spider_1
scrapy crawl my_spider_2
scrapy crawl my_spider_3
sleep 15
done


Добавил задание в cron, что бы запускался при перезагрузке сервера.
Все работает, но подозреваю что есть лучшее решение.

UPD:
Может кто то посажает другой инструмент для парсинга, который решит данную задачу?
  • Вопрос задан
  • 1599 просмотров
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
JRazor
@JRazor
Senior StarkOverFlow Programmer
К сожалению, пока что не было необходимости в решении подобной задачи. Но для запуска периодических задач как альтернативу Cron могу посоветовать celery.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 00:55
2500 руб./за проект
02 февр. 2025, в 00:25
5000 руб./за проект
02 февр. 2025, в 00:18
1000 руб./за проект