docs: def traverse_next(page, nextx, results, tabular_data_headers=[], verbosity=0):
      """
      Recursive generator to traverse through the next attribute and \
      crawl through the links to be followed.
  
      :param page: The current page being parsed
      :param next: The next attribute of the current scraping dict
      :param results: The current extracted content, stored in a dict
      :return: The extracted content, through a generator
  
      """
      for link in page.extract_links(selector=nextx['follow_link']):
          if verbosity > 0:
              print('\n')
              print(Back.YELLOW + Fore.BLUE + "Loading page ", link.url + Back.RESET + Fore.RESET, end='')
          r = results.copy()
          for attribute in nextx['scraping'].get('data'):
              if attribute['field'] != "":
                  if verbosity > 1:
                      print("\nExtracting", attribute['field'], "attribute", sep=' ', end='')
                  r[attribute['field']] = link.extract_content(**attribute)
          if not nextx['scraping'].get('table'):
              result_list = [r]
          else:
              tables = nextx['scraping'].get('table', [])
              for table in tables:
                  table.update({
                      'result': r,
                      'verbosity': verbosity
                  })
                  table_headers, result_list = link.extract_tabular(**table)
                  tabular_data_headers.extend(table_headers)
          if not nextx['scraping'].get('next'):
              for r in result_list:
                  yield (tabular_data_headers, r)
          else:
              for nextx2 in nextx['scraping'].get('next'):
                  for tdh, result in traverse_next(link, nextx2, r, tabular_data_headers=tabular_data_headers, verbosity=verbosity):
                      yield (tdh, result)