2017-02-19 11 views
5

Что мне нужно:Как перезапустить Scrapy паук

  1. начала гусеничного
  2. гусеничной работа
  3. ждать 1 минуту
  4. старта гусеничного снова

Я стараюсь это:

from scrapy.crawler import CrawlerProcess 
from scrapy.utils.project import get_project_settings 
from time import sleep 

while True: 
    process = CrawlerProcess(get_project_settings()) 
    process.crawl('spider_name') 
    process.start() 
    sleep(60) 

Но получаю ошибку:

twisted.internet.error.ReactorNotRestartable

пожалуйста, помогите мне сделать это правильно

Python 3.6
Scrapy 1.3.2
Linux

+0

Взгляните на http://stackoverflow.com/a/39955 395/2572383 –

ответ

2

Я думаю, я нашел решение:

from scrapy.utils.project import get_project_settings 
from scrapy.crawler import CrawlerRunner 
from twisted.internet import reactor 
from twisted.internet import task 


timeout = 60 


def run_spider(): 
    l.stop() 
    runner = CrawlerRunner(get_project_settings()) 
    d = runner.crawl('spider_name') 
    d.addBoth(lambda _: l.start(timeout, False)) 


l = task.LoopingCall(run_spider) 
l.start(timeout) 

reactor.run() 
+0

Как я могу выводить журналы с этим? – Baks

 Смежные вопросы

  • Нет связанных вопросов^_^