Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Faça como eu fiz: Utilizando expressões regulares para validar nossa URL

Todos os casos testados e confirmados

import re

class Extrator_url:
    def __init__(self, url):
        self.url = self.sanitizar_url(url)
        self.validar_url()

    def sanitizar_url(self, url):
        if type(url) == str:
            return url.strip()
        else:
            return ""

    def validar_url(self):
        if not self.url:
            raise ValueError("A url 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 nao é válida!")

    def get_url_base(self):
        return self.url.split("?")[0]

    def get_url_parametros(self):
        if "?" in self.url:
            return self.url.split("?")[1].split("&")
        else:
            return ""

    def get_valor_parametros(self, valor):
        for x in self.get_url_parametros():
            if valor in x:
                return x.split("=")[1]
        return ""


if __name__ == '__main__':
    extrator_url = Extrator_url("https://bytebank.com/cambio?moedaOrigem=real&moedaDestino=dolar&quantidade=100")
    print(extrator_url.get_url_base())
    print(extrator_url.get_url_parametros())
    print(extrator_url.get_valor_parametros("quantidade"))
2 respostas
solução!

Oi Henrique, tudo bem?

Parabéns por completar esta atividade com sucesso! É ótimo ver que todos os casos foram testados e confirmados.

Seu código em Python está bem estruturado e organizado. A classe Extrator_url é uma ótima implementação para extrair informações de URLs e validar se elas estão no formato esperado.

A utilização de expressões regulares (regex) para validar a URL e garantir que ela corresponda ao padrão desejado é uma excelente prática e demonstra seu domínio sobre o assunto.

Além disso, a função get_valor_parametros é uma adição útil que permite obter os valores dos parâmetros da URL de forma mais conveniente.

A demonstração no bloco if __name__ == '__main__' é uma excelente maneira de testar a classe e verificar se ela funciona como esperado.

Continue explorando Python e aprimorando suas habilidades. Sua dedicação e habilidade para resolver problemas são impressionantes. Um abraço e bons estudos.

Esse mata esquilo com míssil...