le signal ne fonctionne que dans le thread principal
je suis nouveau sur django. Je suis en train de lancer mon scrapy d'araignée à travers django vue. Mon scrapy code fonctionne parfaitement quand je le lance via l'invite de commande. mais quand j'essaie de le lancer sur django, il échoue.
Le message d'erreur: le signal ne fonctionne que dans le thread principal.
mon code dans le django vue(La suite)
from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy.crawler import CrawlerProcess
from scrapy import log, signals
from Working.spiders.workSpider import WorkSpider
from scrapy.settings import Settings
from scrapy.utils.project import get_project_settings
spider = WorkSpider(domain='scrapinghub.com')
crawler = CrawlerProcess(Settings())
crawler.start()
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
Merci de m'aider à résoudre ce problème. merci
avez-vous été en mesure de le résoudre. Pourriez-vous svp poster votre contourner?
Même comme le gars ci-dessus. 🙏
Même comme le gars ci-dessus. 🙏
OriginalL'auteur Jijo | 2016-03-10
Vous devez vous connecter pour publier un commentaire.
l'erreur de dire que vous n'êtes pas dans un thread principal afin d'avoir un signal n'est pas traité.
de commutation de CrawlerProcess à CrawlerRunner résolu le problème pour moi ( je suppose que dans CrawlerRunner vous êtes dans le thread principal ) http://doc.scrapy.org/en/latest/topics/api.html#scrapy.crawler.CrawlerRunner
espère que cela vous aide
OriginalL'auteur Tigrou