Jij*_*ijo 16 python django scrapy
我是django的新手.我试图通过django视图运行我的scrapy蜘蛛.当我运行命令提示符时,我的scrapy代码工作正常.但是当我尝试在django上运行它时失败了.错误消息:信号仅在主线程中有效.
我的代码在django视图中(以下)
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()
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题.谢谢
该错误基本上表明您不在主线程中,因此信号未被处理。
从 CrawlerProcess 切换到 CrawlerRunner 解决了我的问题(我猜在 CrawlerRunner 中你位于主线程中)http://doc.scrapy.org/en/latest/topics/api.html#scrapy.crawler.CrawlerRunner
希望这对你有帮助
| 归档时间: |
|
| 查看次数: |
16585 次 |
| 最近记录: |