【发布时间】:2013-01-24 12:49:09
【问题描述】:
我正在按照本指南http://doc.scrapy.org/en/0.16/topics/practices.html#run-scrapy-from-a-script 从我的脚本中运行scrapy。 这是我的脚本的一部分:
crawler = Crawler(Settings(settings))
crawler.configure()
spider = crawler.spiders.create(spider_name)
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
print "It can't be printed out!"
它应该可以工作:访问页面,抓取所需的信息并将输出 json 存储在我告诉它的位置(通过 FEED_URI)。但是当蜘蛛完成他的工作时(我可以通过输出 json 中的数字看到它)我的脚本的执行不会恢复。 可能不是scrapy问题。答案应该在扭曲的反应堆的某个地方。 如何释放线程执行?
【问题讨论】:
-
将此代码包装在一个新脚本中并调用它?
-
不确定您的评论是否正确。你是什么意思'调用脚本'?它挂在 reactor.run() 并且日志写给我:'INFO: Closing spider (finished)' 所以蜘蛛似乎已经完成了。