Created
June 28, 2016 07:06
-
-
Save alexandre/7b9fae9893bf9084cf6921f6d24d7425 to your computer and use it in GitHub Desktop.
script para baixar arquivos com fins estatisticos do censo 2010
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#lang racket | |
(require racket/system) | |
(require net/ftp) | |
(define conn (ftp-establish-connection "ftp.ibge.gov.br" | |
21 | |
"anonymous" | |
"")) | |
(ftp-cd conn (string-append "Censos/" | |
"Censo_Demografico_2010/" | |
"Cadastro_Nacional_de_Enderecos_Fins_Estatisticos")) | |
(ftp-directory-list conn) | |
(define states (for/list ([item (ftp-directory-list conn)] | |
#:when (equal? (car item) "d")) | |
(list-ref item 2))) | |
(define (get-all-zipfiles-names zipfiles) | |
(map (lambda (alist) (list-ref alist 2)) zipfiles)) | |
(define ((download-zipfile zipfile) [local-path "."]) | |
(println (string-append "Baixando arquivo: " zipfile)) | |
(ftp-download-file conn local-path zipfile)) | |
(for/list ([state states]) | |
(println (string-append "Acessando diretório: " state)) | |
(system (string-append "mkdir -p " state)) | |
(ftp-cd conn state) | |
(let ((zipfiles (ftp-directory-list conn))) | |
(println "Executando download dos arquivos, bear with me") | |
(for/list ([zipfile (get-all-zipfiles-names zipfiles)]) | |
((download-zipfile zipfile) (string-append "./" state)) | |
(ftp-cd conn "..")))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment