Back-End

4 jul, 2017

Python – Consulta de CEP com PyCEPCorreios

Publicidade

Olá, pessoal. Tudo certo?

Neste artigo, irei falar um pouco sobre a nova versão da PyCEP Correios. O PyCEPCorreios é uma API desenvolvida em Python que realiza a busca dos dados de um dado CEP diretamente no webservice dos Correios, sendo essa a principal diferença em relação a outras APIs de consulta de CEP. O retorno dessa consulta é um dict contendo os dados do endereço pertencente ao CEP. Este projeto foi iniciado por mim para fins de estudo, porém ele pode ser utilizado normalmente em projetos mais sérios.

Obs: A versão 2.0.0 trouxe melhorias consideráveis no código com o objetivo de tornar a API mais fácil de ser utilizada. Porém, ela é incompatível com as versões anteriores. Houve grandes melhorias na documentação, código e testes da API. Sendo assim, decidi republicar esse artigo com novas informações sobre a lib.

Instalação

O PyCEP Correios pode ser facilmente instalado com o comando a seguir (apenas para python3):

pip3 install pycep-correios

Como usar

Consultar o endereço de um CEP é muito simples com a PyCEPCorreios. Não importa se o CEP fornecido possui hífen ou ponto. A PyCEPCorreios trata a entrada garantindo uma entrada válida para o webservice dos Correios.

Veja os exemplos a seguir:

import pycep_correios

endereco = pycep_correios.consultar_cep('37503130')

print(endereco['end'])
print(endereco['bairro'])
print(endereco['cidade'])
print(endereco['complemento'])
print(endereco['complemento2'])
print(endereco['uf'])
print(endereco['cep'])

Um exemplo alternativo, enviamos um CEP incorreto, com a quantidade de dígitos inferior a 8.

from pycep_correios
from pycep_correios.excecao import CEPInvalido

try:
    endereco = pycep_correios.consultar_cep('00000000')
except CEPInvalido as exc:
    print(exc)

Para outras exceções devemos utilizar as exceções da biblioteca requests, no qual a PyCEPCorreios faz uso para comunicação com o webservice. As antigas exceções da biblioteca também foram removidas a fim de evitar redundância com as exceções da requests e toda a API agora possui comandos e documentação em português.

A PyCEPCorreios também possui funções para validar e formatar números de CEP. Para mais exemplos, veja a documentação aqui. Abaixo, segue alguns links úteis.

Se deseja contribuir, por favor, dê uma olhada na documentação aqui. Contribuições são sempre bem-vindas.

Conclusão

É isso, pessoal! Este artigo foi feito simplesmente para apresentação da PyCEP Correios e mostrar exemplos de utilização da versão 2.0.0 da API. Espero que o módulo seja útil a vocês. Se alguém possuir alguma crítica ou sugestão, sinta-se livre para comentar.

Obrigado por ler até aqui! Até o próximo artigo.