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))