Blog

Postado em em 3 de setembro de 2022

Busca de Endereços com Python – API de CEP

Na aula de hoje eu quero te mostrar a busca de endereços com Python usando uma API de CEP para os seus projetos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

API de CEP e busca de endereços com Python

Você sabia que é possível buscar endereços com Python para automatizar seus projetos?

Não só é possível como eu vou te mostrar como fazer uma busca automática de endereços com Python para que você consiga automatizar seus próximos projetos!

API de CEP no Python

Para fazer essa automação com Python nós vamos utilizar a API Via CEP. A documentação você pode acessar no link abaixo:

https://viacep.com.br/

Essa é uma API que vai permitir a busca de CEP a partir de um endereço e vai permitir a busca de um endereço a partir de um CEP.

Então temos essas duas opções para consulta de CEPs de todo o Brasil com essa API.

Primeiro nós vamos fazer a consulta de informações de um CEP com o código abaixo:

import requests

cep = "20.090-002"

cep = cep.replace("-", "").replace(".", "").replace(" ", "")

if len(cep) == 8:
    link = f'https://viacep.com.br/ws/{cep}/json/'

    requisicao = requests.get(link)

    print(requisicao)

    dic_requisicao = requisicao.json()

    uf = dic_requisicao['uf']
    cidade = dic_requisicao['localidade']
    bairro = dic_requisicao['bairro']
    print(dic_requisicao)
else:
    print("CEP Inválido")

Aqui nós estamos utilizando a biblioteca requests, pois estamos fazendo uma requisição a uma API para obter as informações desejadas.

Então estamos passando o CEP para obter as informações de UF, cidade e bairro.

Esse primeiro código é bem simples, inicialmente estamos utilizando o .replace para substituir o ponto e o traço do CEP para que fiquem apenas os 8 números.

Depois estamos verificando se o CEP tem 8 números, se não tiver já vamos retornar que o CEP é inválido, caso contrário vamos utilizar o link da API e fazer a requisição nesse link utilizando o CEP desejado.

Com isso vamos gerar um dicionário e desse dicionário nós vamos pegar apenas a UF, localidade e bairro.

Resultado da busca de CEP
Resultado da busca de CEP

Essa é a resposta do print(requisicao), aqui você pode verificar todas as informações que a API fornece, então pode pegar outras informações além das que já pegamos.

Agora nós vamos fazer a busca de CEP a partir de endereço. O código é basicamente o mesmo, o que nós vamos modificar é o link da nossa requisição.

uf = "RJ"
cidade = "Rio de Janeiro"
endereco = "Rio Branco"

link = f'https://viacep.com.br/ws/{uf}/{cidade}/{endereco}/json/'

requisicao = requests.get(link)
print(requisicao)

dic_requisicao = requisicao.json()
print(dic_requisicao)

Aqui nós temos que passar a UF, a cidade e o endereço para que essa API possa retornar o CEP.

Resultado da busca de endereços
Resultado da busca de endereços

Você vai notar que temos diversos resultados e olhando dessa forma fica um pouco difícil de entender, então vamos passar esse dicionário para um dataframe utilizando a biblioteca pandas.

import pandas as pd

tabela = pd.DataFrame(dic_requisicao)
display(tabela)

Então com esse simples código podemos ajustar e visualizar esses dados como tabela, o que fica muito mais fácil de entender os resultados.

Ajustando as informações de endereço
Ajustando as informações de endereço

Aqui já fica bem mais fácil entender e identificar as informações que estamos procurando. Outro ponto que você deve ter percebido é que temos diversos resultados, até porque o CEP ele é mais específico.

Então como estamos utilizando a UF, a cidade e o endereço temos muitos CEPs que podem ter essas 3 informações.

Conclusão

Nessa aula eu te mostrei como usar a API Via CEP para fazer uma consulta de informações de um CEP com Python.

Agora você já pode incrementar mais essa funcionalidade dentro dos seus próximos projetos de automação em Python!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero na linguagem de programação que mais cresce no mundo? Inscreva-se gratuitamente no Intensivão de Python!