class FooSpider(BaseSpider):
    yet = False

@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
    from_crawler = super(FooSpider, cls).from_crawler
spider = from_crawler(crawler, *args, **kwargs)
crawler.signals.connect(spider.idle, signal=scrapy.signals.spider_idle)
return spider

def idle(self):
    if not self.yet:
        self.crawler.engine.crawl(self.create_request(), self)
self.yet = True
Scrapy: как вручную вставить запрос из обратного вызова события spider_idle?