1
resposta

ajuda com o valor

bom dia quando estou digitando o moedaDestino inves de sair dolar me sai moedaDestino=dolar, porque?

url = "https://bytebank.com/cambio?moedaDestino=dolar&moedaOrigem=real"

# separa base e os parametros
indice_interrogacao = url.find("?")
url_base = url[:indice_interrogacao]
url_parametros = url[indice_interrogacao+1:]
print(url_parametros)

#Busca valor de um parametro
parametro_busca = "moedaDestino"
indice_parametro = url_parametros.find(parametro_busca)
indice_valor = indice_parametro + len(parametro_busca) + 1
indice_e_comercial = url_parametros.find("&", indice_valor)
if indice_e_comercial == -1:
    valor = url_parametros[indice_valor:]
else:
    valor = url_parametros[indice_parametro:indice_e_comercial]

print(valor)



C:\Users\alyssa\PycharmProjects\extrator-url\Scripts\python.exe C:/Users/alyssa/PycharmProjects/extrator-url/main.py
moedaDestino=dolar&moedaOrigem=real
moedaDestino=dolar

Process finished with exit code 0
1 resposta

Porque no seu ELSE você está considerando mostrar a string do indice_parâmetro (que é 0) até o indice_comercial (que é 18), resultando em uma string de 17 caracteres (moedaDestino=dolar)...

Na verdade o que você quer é mostrar só o "dolar", então o indice inicial correto está contido na variável indice_valor, que corresponde a posição 13, que é onde se inicia a string "dolar"

valor = url_parametros[indice_valor:indice_e_comercial]