Ich muss den Crawler aus einer anderen Python-Datei aufrufen, für die ich den folgenden Code verwende.Aufruf von Scrapy aus einer anderen Datei ohne Threading
def crawl_koovs():
spider = SomeSpider()
settings = get_project_settings()
crawler = Crawler(settings)
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
Auf diesem läuft, bekomme ich den Fehler als
exceptions.ValueError: signal only works in main thread
Die einzige Abhilfe, die ich finden konnte verwenden
reactor.run(installSignalHandlers=False)
die ich will nicht verwenden, wie ich will um diese Methode mehrmals aufzurufen und den Reaktor vor dem nächsten Aufruf anzuhalten. Was kann ich tun, damit dies funktioniert? (Vielleicht den Crawler zwingen, im selben Hauptthread zu starten)?
Hier veraltet ist ein [Arbeitsbeispielcode] (http://stackoverflow.com/questions/18838494/scrapy-very-basic-example/27744766#27744766) I habe früher Scrapy vom Skript ausgeführt. Ich hoffe es hilft. – alecxe