title: How to fix "Spider must return Request, BaseItem, dict or None, got 'set' in..."
body: <p>I'm trying to create a web scraper that retrieves multiple tables from a website, but somehow I can't extract them</p>
  
  <p>I've searched for a solution but nothing seems to fit my needs :(</p>
  
  <pre class="lang-py prettyprint-override"><code>def parse(self, response):
          tables=[]
          for table in response.xpath('//table'):
              yield {
                  tables.append(self.retrieve_table(table))
              }
  
          tables[0] = self.extract_table_info(tables[0] + tables[1])
          tables[2] = self.extract_table_info(tables[2], 1)
          tables[3] = self.extract_table_info(tables[3], 2)
          tables[4] = self.extract_table_info(tables[4], 3)
  
          company = { 'info': tables[0],
                      'oscilations': tables[2]['oscilations'],
                      'fundamentals': tables[2]['fundamentals'],
                      'patrimonial_balance_data': tables[3],
                      'demonstrative_results_data': tables[4] }
  
          import json
          with open('data.json', 'w') as f:
              json.dump(company, f, ensure_ascii=False)
  </code></pre>
  
  <p>The error that it's returning is</p>
  
  <pre><code>ERROR: Spider must return Request, BaseItem, dict or None, got 'set'
  </code></pre>