Correios - Rastreador de encomendas
Publicado por Fernando (última atualização em 23/12/2013)
[ Hits: 10.823 ]
Homepage: https://github.com/phoemur/
Mais um rastreador de encomendas dos Correios, agora em Python 3.
#!/bin/env python3 import urllib.request import re import sys def usage(): print('Modo de uso: {0} "ENCOMENDA[1]" "ENCOMENDA[2]" ... "ENCOMENDA[N]"'.format(sys.argv[0])) sys.exit(1) def encomenda(lista): for codigo in lista: content = [] with urllib.request.urlopen('http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_ITEMCODE=&P_LINGUA=001&P_TESTE=&P_TIPO=001&P_COD_UNI={}'\ .format(codigo)) as url: for line in url.readlines(): content.append(line.decode('iso-8859-1')) content = [ elem.rstrip() for elem in content if 'rowspan' in elem ] if len(content) == 0: print('Encomenda {0} não foi encontrada'.format(codigo)) else: print('\n\nHistórico do objeto: {0}\n'.format(codigo)) for data in content: [(dia, local, sit)] = re.findall('<tr><td rowspan.+>(.*)</td><td>(.*)</td><td><FONT.*>(.*)</font>.*', data) dia = " ".join(dia.split()) local = " ".join(local.split()) sit = " ".join(sit.split()) print('Data: {0}'.format(dia)) print('Local: {0}'.format(local)) print('Situação: {0}'.format(sit)) print() def main(): if len(sys.argv) == 1 or sys.argv[1] in {'-h', '--help'}: usage() args = [ elem.upper() for elem in sys.argv[1:] if len(elem) == 13 ] if len(args) == 0: print('Código de encomenda inválido\nO código deve ter 13 dígitos') usage() else: encomenda(args) if __name__ == '__main__': main()
Cria no fluxbox um menu para mudar o wallpaper
Probabilidade de Jogos - Poker Texas Hold
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)