code: def run_spider(spider_cls, **kwargs):
      
      timeout = kwargs.pop('timeout', DEFAULT_TIMEOUT)
      return wait_for(timeout, _run_spider_in_reactor, spider_cls, **kwargs)
docs: Runs a spider and returns the scraped items (by default).
  
      Parameters
      ----------
      spider_cls : scrapy.Spider
          A spider class to run.
      capture_items : bool (default: True)
          If enabled, the scraped items are captured and returned.
      return_crawler : bool (default: False)
          If enabled, the crawler instance is returned. If ``capture_items`` is
          enabled, the scraped items is collected in ``crawler.items``.
      settings : dict, optional
          Custom crawler settings.
      timeout : int, (default: DEFAULT_TIMEOUT)
          Result wait timeout.
  
      Returns
      -------
      out : list or scrapy.crawler.Crawler instance
          The scraped items by default or the crawler instance if
          ``return_crawler`` is ``True``.
  
      Raises
      ------
      crochet.TimeoutError