text: import re
  
  
  class ExtratorUrl:
      def __init__(self, url):
          self.url = self.sanitiza_url(url)
          self.valida_url()
  
      def sanitiza_url(self, url):
          if type(url) == str:
              return url.strip()
          else:
              return ''
  
      def valida_url(self):
          if not self.url:
              raise ValueError('A URL passada está vazia')
  
          padrao_url = re.compile("(http(s)?://)?(www.)?bytebank.com(.br)?/cambio")
          match = padrao_url.match(self.url)
  
          if not match:
              raise ValueError('A url não é valida')
  
      def get_url_base(self):
          indice_interrogacao = self.url.find('?')
          url_base = self.url[:indice_interrogacao]
          return url_base
  
      def get_url_parametros(self):
          indice_interrogacao = self.url.find('?')
          url_parametros = self.url[indice_interrogacao + 1:]
          return url_parametros
  
      def get_valor_parametro(self, parametro_busca):
          indice_parametro = self.get_url_parametros().find(parametro_busca)
          indice_valor = indice_parametro + len(parametro_busca) + 1
          indice_e_comercial = self.get_url_parametros().find('&', indice_valor)
  
          if indice_e_comercial == -1:
              valor = self.get_url_parametros()[indice_valor:]
          else:
              valor = self.get_url_parametros()[indice_valor: indice_e_comercial]
          return valor
  
      def __len__(self):
          return len(self.url)
  
      def __str__(self):
          return f'{self.url} \nParâmetros: {self.get_url_parametros()}\nUrl Base: {self.get_url_base()}'
  
      def __eq__(self, other):
          return self.url == other.url
  
  
  url = r'bytebank.com/cambio?quantidade=150&moedaOrigem=dolar&moedaDestino=real'
  extrator_url = ExtratorUrl(url)
  
  # Imprimindo informações sobre a url
  print(extrator_url)
  
  print('-' * 50)
  print(f'{"CONVERSOR DE MOEDAS":^45}')
  valor_dolar = 5.50  # 1 dólar = 5.50 reais
  moeda_origem = extrator_url.get_valor_parametro("moedaOrigem")
  moeda_destino = extrator_url.get_valor_parametro("moedaDestino")
  valor_quantidade = extrator_url.get_valor_parametro('quantidade')
  
  
  if moeda_origem == 'real':
      total = float(valor_quantidade) / valor_dolar
  else:
      total = float(valor_quantidade) * valor_dolar
  
  print(f'Valor convertido de {moeda_origem} para {moeda_destino}: {total:.2f} reais')
  
  
  
  
  
  
  
  
  