title: Scrapy Shell and Scrapy Splash
body: <p>We've been using <a href="https://github.com/scrapinghub/scrapy-splash" rel="noreferrer"><code>scrapy-splash</code> middleware</a> to pass the scraped HTML source through the <code>Splash</code> javascript engine running inside a docker container.</p>
  
  <p>If we want to use Splash in the spider, we configure several <a href="https://github.com/scrapinghub/scrapy-splash#configuration" rel="noreferrer">required project settings</a> and yield a <code>Request</code> specifying specific <a href="https://github.com/scrapinghub/scrapy-splash#usage" rel="noreferrer"><code>meta</code> arguments</a>:</p>
  
  <pre><code>yield Request(url, self.parse_result, meta={
      'splash': {
          'args': {
              # set rendering arguments here
              'html': 1,
              'png': 1,
  
              # 'url' is prefilled from request url
          },
  
          # optional parameters
          'endpoint': 'render.json',  # optional; default is render.json
          'splash_url': '&lt;url&gt;',      # overrides SPLASH_URL
          'slot_policy': scrapyjs.SlotPolicy.PER_DOMAIN,
      }
  })
  </code></pre>
  
  <p>This works as documented. But, how can we use <code>scrapy-splash</code> inside the <a href="http://doc.scrapy.org/en/latest/topics/shell.html" rel="noreferrer">Scrapy Shell</a>?</p>