Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download dos arquivos #41

Open
marcoeuzb opened this issue Jun 24, 2020 · 10 comments
Open

Download dos arquivos #41

marcoeuzb opened this issue Jun 24, 2020 · 10 comments

Comments

@marcoeuzb
Copy link

marcoeuzb commented Jun 24, 2020

Não seria interessante que o programa fizesse o download dos arquivos tbm?

Enfrento o problema de minha conexão ser lenta, então caso o programa fizesse o download para mim seria útil, facilitando tbm quando eu queira atualizar os dados. Assim, estou escrevendo fazendo um branch próprio com esta funcionalidade, gostaria de saber se existe interesse em adiciona-la à este master.

Nota: peço desculpas por qualquer equivoco, dado minha inexperiência sobre programação.

@JacksonOsvaldo
Copy link

Acho que isso já foi resolvido, amigo. Você pode usar o aria2. O Turicas, no repositório do GitHub referente a dados de empresas, fez um código simples pra esse download usando aria2:

#!/bin/bash

set -e

mkdir -p data/download data/output

if [ "$1" = "--use-mirror" ]; then
	USE_MIRROR=true
else
	USE_MIRROR=false
fi

function download_data() {
	CONNECTIONS=4
	DOWNLOAD_URL="https://receita.economia.gov.br/orientacao/tributaria/cadastros/cadastro-nacional-de-pessoas-juridicas-cnpj/dados-publicos-cnpj"
	FILE_URLS=$(wget --quiet --no-check-certificate -O - "$DOWNLOAD_URL" \
		| grep --color=no DADOS_ABERTOS_CNPJ \
		| grep --color=no ".zip" \
		| sed 's/.*"http:/http:/; s/".*//' \
		| sort)
	MIRROR_URL="https://data.brasil.io/mirror/socios-brasil"

	for url in $FILE_URLS; do
		if $USE_MIRROR; then
			url="$MIRROR_URL/$(basename $url)"
		fi
		time aria2c --auto-file-renaming=false --continue=true -s $CONNECTIONS -x $CONNECTIONS --dir=data/download "$url"
	done
}

download_data

@marcoeuzb
Copy link
Author

Realmente simples, porém o programa precisa rodar em ambiente Windows.
Mesmo assim obrigado pela dica

@elossio
Copy link

elossio commented Jul 18, 2020

Vou testar! Obrigado pela dica.

@rafarui
Copy link

rafarui commented Jul 27, 2020

Pra compartilhar com vcs...
esse script eu fiz pra baixar tudo em python... consegue baixar mais de um arquivo por vez. No ex abaixo 5.

import requests
from joblib import delayed, Parallel
from tqdm import tqdm
def download_from_url(url,chunk_size=1024):
    dst = url.split('/')[-1]
    chunk_size = int(chunk_size)
    file_size = int(requests.head(url).headers["Content-Length"])
    pbar = tqdm( total=file_size, unit='B', unit_scale=True, unit_divisor=1024, desc=url.split('/')[-1])
    req = requests.get(url, stream=True)
    with(open(dst, 'wb')) as f:
        for chunk in req.iter_content(chunk_size=chunk_size):
            if chunk:
                f.write(chunk)
                pbar.update(chunk_size)
    pbar.close()
    return file_size
base_url = 'http://200.152.38.155/CNPJ/DADOS_ABERTOS_CNPJ_{}.zip'
from joblib import parallel_backend
with parallel_backend('threading', n_jobs=5 ):
    Parallel(verbose=70)(delayed(download_from_url )(base_url.format(str(i).zfill(2))) for i in range(1,21,1))

@k0al4
Copy link

k0al4 commented Jul 27, 2020 via email

@thiagodma
Copy link

Realmente simples, porém o programa precisa rodar em ambiente Windows.
Mesmo assim obrigado pela dica

@marcoeuzb Você pode baixar o Ubuntu no linux. Só colocar "Ubuntu" na Microsoft Store que aparece. Uma vez com ele instalado, vá para o caminho /mnt/c/ que você terá acesso aos arquivos no windows. Aí você pode ir para o diretório de interesse e executar o .sh

@marcelo-franceschini
Copy link

O problema é baixar em velocidade descente.. Já tentei mandar e-mail pra eles, mas vocês obviamente, ainda não tive respostas.

@andreafonsot
Copy link

Serviço temporariamente indisponível.
Tente novamente em alguns instantes.

https://receita.economia.gov.br/orientacao/tributaria/cadastros/cadastro-nacional-de-pessoas-juridicas-cnpj/dados-publicos-cnpj

Isso é normal??

@rictom
Copy link

rictom commented Jun 14, 2021

Esse link é o antigo, até o ano passado. Os dados mais atualizados a partir de 2021 estão em
https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/consultas/dados-publicos-cnpj
só que estão em outro formato, em csv.

@andreafonsot
Copy link

Obrigado pela informação!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants