2017-05-25 1 views
1

J'ai utilisé le même code que dans la documentation avec une petite différence d'instanciation de Crawlrunner avec les paramètres afin qu'il ne manque pas les opérations de pipeline.Si ce n'est pas utilisé, il fonctionnera bien, mais va sauter le pipeline.ReactorNotRestartable erreur en utilisant CrawlerRunner dans 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() 

Veuillez suggérer la cause de ceci et d'éventuelles corrections.

Répondre

0

Supprimez le rappel pour reactor.stop et vous ne devriez plus voir ce problème. Le réacteur est conçu pour être toujours en marche

+0

Merci pour la suggestion, mais j'ai besoin d'exécuter l'araignée dans une boucle et si le rappel est retiré alors il n'arrêtera pas le robot. – Lonewolf

+0

Avez-vous 'reactor.stop' dans votre projet? –