Buscador de CEP
Publicado por Fernando (última atualização em 24/07/2015)
[ Hits: 7.443 ]
Homepage: https://github.com/phoemur/
Este é um web-crawler simples escrito em Python 3 que serve para pesquisar endereços e CEP correspondentes através da linha de comando.
Ele não utiliza nenhuma API específica, apenas acessa a página dos Correios e pesquisa o endereço.
Modo de uso:
$ ./buscacep.py "Endereço ou CEP a ser pesquisado"
Utilize um endereço por vez. Exemplos:
$ ./buscacep.py Avenida nacoes unidas bauru
$ ./buscacep.py 17010-130
#!/usr/bin/env python3
import sys
import re
import urllib.request
import urllib.parse
def usage():
print('Uso: {0} "Endereço ou CEP a ser pesquisado"'.format(sys.argv[0]))
print('Utilize um endereço por vez. Exemplos:\n')
print('{0} Avenida nacoes unidas bauru'.format(sys.argv[0]))
print('{0} 17010-130'.format(sys.argv[0]))
sys.exit(1)
def chunks(iterable, size):
for i in range(0, len(iterable), size):
yield iterable[i:i+size]
def main():
if len(sys.argv) == 1 or sys.argv[1] in {'-h', '--help'}:
usage()
data = {'relaxation': ' '.join(sys.argv[1:]),
'TipoCep': 'ALL',
'semelhante': 'S',
'cfm': '1',
'Metodo': 'listaLogradouro',
'TipoConsulta': 'relaxation',
'StartRow': '1',
'EndRow': '10'}
url = r'http://www.buscacep.correios.com.br/servicos/dnec/consultaEnderecoAction.do'
content = []
opener = urllib.request.build_opener()
opener.addheaders = [
('User-agent',
"Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201")]
with opener.open(url, urllib.parse.urlencode(data).encode('ISO-8859-1')) as url:
for line in url.readlines():
content.append(line.decode('ISO-8859-1'))
content = [elem.rstrip() for elem in content if 'padding: 2px' in elem]
lista = []
if len(content) == 0:
print('Endereço não encontrado ou site offline\n\n')
else:
for data in content:
tp = re.search('.*style="padding: 2px">(.*)</td>', data)
lista.append(tp.group(1) if tp is not None else '')
for elem in chunks(lista, 5):
for line in elem:
print(line)
print('\n')
if __name__ == '__main__':
main()
Cotação do Dólar com requests_html
Conversor de String em Hex para String plana
Cotação atual do dólar - versão Python
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (8)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









