docs: def extract_tabular(self, header='', prefix='', suffix='', table_type='', *args, **kwargs):
  		"""
  		Method for performing the tabular data extraction. \
  
  		:param result: A dictionary containing the extracted data so far
  		:param table_type: Can be "rows" or "columns". This determines the type of table to be extracted. \
  		A row extraction is when there is a single row to be extracted and mapped to a set of headers. \
  		A column extraction is when a set of rows have to be extracted, giving a list of header-value mappings.
  		:param header: The headers to be used for the table. This can be a list of headers, or a selector that gives the list of headers
  		:param prefix: A prefix to be added to each header
  		:param suffix: A suffix to be added to each header
  		:param selector: For row extraction, this is a selector that gives the row to be extracted. \
  		For column extraction, this is a list of selectors for each column.
  		:param attr: The attribute to be extracted from the selected tag
  		:param default: The default value to be used if the selector does not return any data
  		:param verbosity: The verbosity set as the argument for scrapple run
  		:return: A 2-tuple containing the list of all the column headers extracted and the list of \
  		dictionaries which contain (header, content) pairs
  		"""
  		if type(header) in [str, unicode]:
  			try:
  				header_list = self.get_tree_tag(header)
  				table_headers = [prefix + h.text + suffix for h in header_list]
  			except XPathError:
  				raise Exception("Invalid %s selector for table header - %s" % (self.__selector_type__, header))
  			except Exception:
  				raise Exception("Invalid %s selector for table header - %s" % (self.__selector_type__, header))
  		else:
  			table_headers = [prefix + h + suffix for h in header]
  		if len(table_headers) == 0:
  			raise Exception("Invalid %s selector for table header - %s" % (self.__selector_type__, header))
  		if table_type not in ["rows", "columns"]:
  			raise Exception("Specify 'rows' or 'columns' in table_type")
  		if table_type == "rows":
  			result_list = self.extract_rows(table_headers=table_headers, *args, **kwargs)
  		else:
  			result_list = self.extract_columns(table_headers=table_headers, *args, **kwargs)
  		return table_headers, result_list