Download de arquivos

1. Download de arquivos

Matheus
pylm

(usa Gentoo)

Enviado em 27/04/2020 - 23:52h

Nesse link tem uma série de arquivos zip:

http://dados.cvm.gov.br/dados/CIA_ABERTA/DOC/DFP/BPA/DADOS/

Como eu poderia fazer para realizar o download deles?


  


3. Re: Download de arquivos

Matheus
pylm

(usa Gentoo)

Enviado em 28/04/2020 - 01:53h




... a gente tá no comunidade python.

Acabei fazendo o seguinte:


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from lxml import html
import requests

bpa_url = 'http://dados.cvm.gov.br/dados/CIA_ABERTA/DOC/DFP/BPA/DADOS/'
bpa_page = requests.get(bpa_url)
bpa_html = html.fromstring(bpa_page.content)

# Itera sobre todos os links da página, seleciona os que possuem '.zip', baixa e salva num arquivo em disco
for i in bpa_html.xpath('//a/@href'):
if '.zip' in i:
with open(i, 'wb') as bpa:
bpa_file = requests.get(f'{bpa_url}/{i}')
bpa.write(bpa_file.content)



4. Re: Download de arquivos

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 28/04/2020 - 01:59h

pylm escreveu: ... Como eu poderia fazer para realizar o download deles?

Pode fazer com o navegador web, clicando em cada arquivo. Afinal não são muitos arquivos.

Opcionalmente, como o nome dos arquivos tem uma sequencia numérica lógica, podemos usar o comando "wget", assim:
wget http://dados.cvm.gov.br/dados/CIA_ABERTA/DOC/DFP/BPA/DADOS/bpa_cia_aberta_{2010..2019}.zip
Os arquivos .zip serão baixados para a pasta na qual estamos posicionados no terminal.



5. Re: Download de arquivos

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 28/04/2020 - 02:13h

Acredito que o pylm queira fazer essa operação usando Python. Rabisquei um código aqui, ficou meio grande mas acredito estar simples de se entender:


from bs4 import BeautifulSoup
import requests

url = "http://dados.cvm.gov.br/dados/CIA_ABERTA/DOC/DFP/BPA/DADOS/"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")

#filtrar os links da pagina
for link in soup.find_all('a'):

filename = link.get('href')

#filtrar apenas extensao zip
if 'zip' in filename:

#construir a url completa
source = url + filename

#baixar o arquivo
r2 = requests.get(source)

#gravar o arquivo
open(filename, 'wb').write(r2.content)

print(filename + ' salvo')



6. Re: Download de arquivos

henrique
Kaliglitcher

(usa Kali)

Enviado em 28/04/2020 - 09:51h

nem vi kkkkk


7. Re: Download de arquivos

henrique
Kaliglitcher

(usa Kali)

Enviado em 28/04/2020 - 09:52h

mais vc pode usar a biblioteca os para dar um os.command("comando do terminal para baixar")






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts