Buscador de CEP
Publicado por Fernando (última atualização em 24/07/2015)
[ Hits: 7.023 ]
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()
Bot que baixa o KDE 3.4 e a QT para o Slackware 10.1
Cotação do Dólar com requests_html
Enviando mensagens para celulares TIM
Script em Python 3.6 conectando em um API real da web
Nenhum comentário foi encontrado.
Deixando o Gnome bonitão em qualquer distribuição
Como ativar o módulo de cancelamento de ruído no Pipewire
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Checar seu IP externo no terminal
Como fazer um pendrive butável dar boot no VirtualBox
LocalSend, uma alternativa ao Warpinator? (0)
GRUB do Debian 12 não detecta segundo Linux instalado em partição BTRF... (30)