<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def extract_content(self, selector='', attr='', default='', connector='', *args, **kwargs):
 		""" 		Method for performing the content extraction for the particular selector type. \ 		If the selector is "url", the URL of the current web page is returned. 		Otherwise, the selector expression is used to extract content. The particular \ 		attribute to be extracted ("text", "href", etc.) is specified in the method \ 		arguments, and this is used to extract the required content. If the content \ 		extracted is a link (from an attr value of "href" or "src"), the URL is parsed \ 		to convert the relative path into an absolute path. 		If the selector does not fetch any content, the default value is returned. \ 		If no default value is specified, an exception is raised. 		:param selector: The XPath expression 		: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 connector: String connector for list of data returned for a particular selector 		:return: The extracted content 		"""

		try:
			if selector.lower() == "url":
				return self.url
			if attr.lower() == "text":
				tag = self.get_tree_tag(selector=selector, get_one=True)
				content = connector.join([make_ascii(x).strip() for x in tag.itertext()])
				content = content.replace("\n", " ").strip()
			else:
				tag = self.get_tree_tag(selector=selector, get_one=True)
				content = tag.get(attr)
				if attr in ["href", "src"]:
					content = urljoin(self.url, content)
			return content
		except IndexError:
			if default is not "":
				return default
			raise Exception("There is no content for the %s selector - %s" % (self.__selector_type__, selector))
		except XPathError:
			raise Exception("Invalid %s selector - %s" % (self.__selector_type__, selector))