2017-05-25 7 views
1

Ich habe den gleichen Code wie in der Dokumentation mit einem kleinen Unterschied der Instantiierung der Crawlrunner mit Einstellungen verwendet, so dass es die Pipeline-Operationen nicht verpassen. Wenn dies nicht verwendet wird, wird es aber funktionieren wird die Pipeline überspringen.ReactorNotRestartable Fehler mit CrawlerRunner in scrapy

from twisted.internet import reactor 
import scrapy 
from scrapy.crawler import CrawlerRunner 
from scrapy.utils.log import configure_logging 
from forspef_scrapper import ForspefScrapper 
from scrapy.utils.project import get_project_settings 

configure_logging({'LOG_FORMAT': '%(levelname)s: %(message)s'}) 
runner = CrawlerRunner(get_project_settings()) 

d = runner.crawl(ForspefScrapper) 
d.addBoth(lambda _: reactor.stop()) 
reactor.run() 

Bitte schlagen Sie die Ursache und mögliche Korrekturen vor.

Antwort

0

Entfernen Sie den Rückruf für reactor.stop und Sie sollten dieses Problem nicht mehr sehen. Der Reaktor ist entworfen, um immer zu laufen

+0

Danke für den Vorschlag aber ich muss die Spinne in einer Schleife laufen lassen und wenn der Rückruf entfernt wird, dann stoppt es nicht den Gleiskettenfahrzeug. – Lonewolf

+0

Haben Sie 'reactor.stop' irgendwo anders in Ihrem Projekt? –