Scrapy exécutant différentes araignées à différents moments avec réacteur

Aug 26 2020

Je veux cliquer sur un bouton du site django et mon araignée est censée commencer à gratter. J'essaie CrawlerProcess mais à cause de cela, j'utilise différentes araignées. J'ai décidé d'utiliser CrawlerRunner. Après la première exploration, tout va bien, mais le deuxième processus me donne cette erreur.

twisted.internet.error.ReactorNotRestartable

J'essaie la solution de ce sujet: Erreur ReactorNotRestartable dans la boucle while avec scrapy

J'essaye donc la solution comme le code suivant mais le robot ne s'arrête jamais et il dit ReactorAlreadyRunning

def test():
    configure_logging({'LOG_FORMAT': '%(levelname)s: %(message)s'})
    runner = CrawlerRunner(get_project_settings())
    d = runner.crawl(myspider.My_Spider)
    d.addBoth(lambda _: reactor.stop(stop_after_crawl=False))
    reactor.run()

Cela ne me laisse pas ramper sur une autre araignée. Alors, comment puis-je exécuter l'exploration de plusieurs araignées à des moments différents sur mon site Web?

Réponses

1 MuratDemir Aug 26 2020 at 13:13

Ce sujet m'aide à résoudre le problème. J'ai juste besoin d'installer crochet et d'ajouter setup () en plus de mon code.

Lien de la solution