Buscador de CEP
Publicado por Fernando (última atualização em 24/07/2015)
[ Hits: 7.134 ]
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()
Python script para inundação de email
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Problemas com Vlan no Centos 7 (0)
Servidor DHCP e Controlador de Domínio (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta