docs: def extract_links(self, selector='', *args, **kwargs):
  		"""
  		Method for performing the link extraction for the crawler. \
  
  		The selector passed as the argument is a selector to point to the anchor tags \
  		that the crawler should pass through. A list of links is obtained, and the links \
  		are iterated through. The relative paths are converted into absolute paths and \
  		a ``XpathSelector``/``CssSelector`` object (as is the case) is created with the URL of the next page as the argument \
  		and this created object is yielded. 
  
  		The extract_links method basically generates ``XpathSelector``/``CssSelector`` objects for all of \
  		the links to be crawled through.
  
  		:param selector: The selector for the anchor tags to be crawled through
  		:return: A ``XpathSelector``/``CssSelector`` object for every page to be crawled through 
  		
  		"""
  		try:
  			links = self.get_tree_tag(selector=selector)
  			for link in links:
  				next_url = urljoin(self.url, link.get('href'))
  				yield type(self)(next_url)
  		except XPathError:
  			raise Exception("Invalid %s selector - %s" % (self.__selector_type__, selector))
  		except Exception:
  			raise Exception("Invalid %s selector - %s" % (self.__selector_type__, selector))