事实上,那些破破烂烂的医生解释了如何把两个斯派德锁在一起
from twisted.internet import reactor, defer
from scrapy.crawler import CrawlerRunner
from scrapy.utils.log import configure_logging
class MySpider1(scrapy.Spider):
# Your first spider definition
...
class MySpider2(scrapy.Spider):
# Your second spider definition
...
configure_logging()
runner = CrawlerRunner()
@defer.inlineCallbacks
def crawl():
yield runner.crawl(MySpider1)
yield runner.crawl(MySpider2)
reactor.stop()
crawl()
reactor.run() # the script will block here until the last crawl call is finished
但是在我的用例中,MySpider2
需要在转换后使用一些transformFunction()
由{
所以我想要这样的东西:
^{pr2}$我想安排的是:
MySpider1
启动,在磁盘上写入data
,然后退出transformFunction()
转换data
到{MySpider2
开始使用newData
那么我如何使用扭曲反应器和废料来管理这种行为呢?在
^{} 返回一个^{} ,这样就可以将回调链接到它。小调整将不得不做你的代码。在
主函数是
crawl()
,它由{a3}执行,它将为您启动和停止反应堆。Deferred
从runner.crawl()
返回,transformFunction
+crawl2
函数链接到它,这样当一个函数完成时,下一个函数就会启动。在相关问题 更多 >
编程相关推荐