-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript_download_arquivos.py
57 lines (39 loc) · 1.52 KB
/
script_download_arquivos.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 6 09:35:03 2021
@author: Afonso Feliciano
"""
import zipfile
import requests
from io import BytesIO
import os
from datetime import date
from datetime import datetime
import time
# Criando diretorio para armazenar o conteúdo do portal da transparência
diretorio = './arquivos'
#deleta o diretório caso esteja vazio
os.system('rmdir "%s"' % diretorio)
#se nao existir, cria o diretorio
if not os.path.exists(diretorio):
os.makedirs(diretorio)
#setando ano inicial e descobrindo ano atual para criação do loop
ano_inicial = 2011
data_atual = date.today()
ano_atual = data_atual.year
#define a url e cria loop para concatenar os anos
url_parcial = "http://portaltransparencia.gov.br/download-de-dados/viagens/"
for x in range(ano_inicial, ano_atual + 1):
#cria url com ano
url_final = url_parcial + str(x)
print( " Realizando o download do conteudo da URL: " + url_final + " às " + datetime.now().strftime("%d/%m/%Y %H:%M:%S"))
#realiza o get na url final e armazena no formato de bytes
filebytes = BytesIO( requests.get(url_final).content )
#utiliza a bilioteca zipfile para armazenar o arquivo bytes de maneira comptactada
myzip = zipfile.ZipFile(filebytes)
print("Descompactando o conteudo da URL: " + url_final + " às " + datetime.now().strftime("%d/%m/%Y %H:%M:%S") + "\n")
#descompacta o arquivo
myzip.extractall("./arquivos")
#aguarda 1 segundo para um novo loop
time.sleep(1)
print("Downloads finalizados")