Blog

Postado em em 14 de novembro de 2023

Download de Arquivos com Python – Apenas 2 Linhas de Código!

Aprenda como fazer download de arquivos com Python utilizando apenas duas linhas de código!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Fazer Download de Arquivos com Python – Apenas 2 Linhas de Código!

Na aula de hoje eu quero te mostrar como fazer download de arquivos com Python usando apenas duas linhas de código!

Esse código será muito útil ao criar automações com Python, pois agora você pode adicionar a funcionalidade de download de arquivos a elas.

Apesar de ser um processo fácil e simples, há alguns cuidados necessários que precisamos tomar, e vou abordar todos eles ao longo desta aula.

Então, faça o download do material disponível e vamos aprender como fazer download de arquivos com Python!

Formas de Fazer Download de Arquivos com Python

Sempre que trabalhamos com linguagens de programação, existem várias formas de realizar as mesmas tarefas, e com Python não é diferente. Diversos métodos podem ser utilizados para fazer o download de arquivos com Python.

Uma dessas maneiras é através de uma RPA (Robotic Processing Automation). Caso queira construir uma automação que faça algo semelhante, eu vou deixar esta aula aqui para que você possa estudar depois.

Além disso, outra forma seria usando uma biblioteca pronta e configurada do Python. É este procedimento que vou ensinar ao longo desta aula.

Biblioteca wget

Para construir o código capaz de fazer o download de arquivos com Python, precisamos utilizar a biblioteca wget.

Para instalá-la, basta executar o seguinte comando no terminal do seu editor de código:

pip install wget

Feito isso, podemos importá-la para o nosso código:

import wget

A biblioteca wget é simples de usar. Ela recebe o link do arquivo desejado e, através da função download(),baixa e salva o arquivo no seu computador.

Como Fazer Download de Arquivos com Python – Biblioteca Wget

Como mencionado, esse método de fazer download utilizando a biblioteca wget é muito simples. Precisamos apenas de duas linhas para isso.

No entanto, existem alguns cuidados que precisamos tomar na hora de passar o link de download para ela. Precisamos prestar atenção com a extensão do arquivo que estamos fazendo o download e se o link informado está correto.

Vamos fazer um exemplo para que você possa visualizar na prática esse processo. Digamos que eu queira fazer o download do PDF com o relatório de produção e vendas do último trimestre da Petrobras.

Acessando o site Petrobras Investidores, teremos uma guia com Resultados e Comunicados, e dentro dela, a Central de Resultados com alguns arquivos disponíveis para download.

Site Petrobras

Se clicarmos no botão Abrir documento ao lado do Relatório de Produção e Vendas 3T23, seremos levados para o arquivo em PDF correspondente.

Relatório de Produção e Vendas 3T23

Repare que o endereço do site por onde acessamos o arquivo é diferente do endereço do arquivo em si.

Endereço do site
Endereço do arquivo

Esse segundo link nos leva diretamente para o arquivo em PDF que desejamos, enquanto o primeiro nos leva para a página da Petrobras Investidores.

Por que estou te falando isso? Caso você tente fazer o download utilizando o link da página ao invés do link do arquivo, você fará o download de todo o código HTML por trás da página.

Vamos fazer os dois exemplos para que você possa visualizar como isso ocorre na prática.

import wget

link = "https://api.mziq.com/mzfilemanager/v2/d/25fdf098-34f5-4608-b7fa-17d60b2de47d/77c83abf-faf4-1162-6e2e-24fcdda4dd5b?origin=1"

wget.download(link, "resultadopetrobras")

Como pode ver, o código para fazer download de arquivos com Python é bem simples. Basta usar a função download e passar dois argumentos: o link de onde você deseja baixar o arquivo e o nome de saída desse arquivo, o nome com que ele será salvo.

Você pode passar o link diretamente dentro da função ou atribuí-lo a uma variável e passar essa variável para ela.

Se executarmos o código acima, a biblioteca funcionará normalmente e fará o download do arquivo.

Baixando arquivo

No entanto, repare que o arquivo baixado não possui nenhuma extensão, e se você tentar acessá-lo, verá apenas o código por trás desse arquivo.

Código do arquivo

Esse é o primeiro cuidado que precisamos tomar ao lidar com essa biblioteca. Além de definir o nome do arquivo, precisamos passar a extensão dele, a extensão que esse arquivo será salvo em seu computador. Logo, poderíamos reproduzir o código acima da seguinte forma:

import wget

link = "https://api.mziq.com/mzfilemanager/v2/d/25fdf098-34f5-4608-b7fa-17d60b2de47d/77c83abf-faf4-1162-6e2e-24fcdda4dd5b?origin=1"

wget.download(link, "resultadopetrobras.pdf")

Dessa forma, ao executarmos esse código, teremos de fato o arquivo resultadopetrobras.pdf em nosso computador pronto para ser visualizado.

PDF correto

Atenção: A extensão que você definir dentro da função download deve ser a mesma do arquivo original. Ou seja, não poderíamos salvar esse arquivo como uma planilha sendo que ele é um arquivo PDF.

O segundo cuidado que precisamos ter é quanto ao endereço do arquivo. Por exemplo, se passarmos o link do site da Petrobras ao invés do link do arquivo em si, o wget fará o download do código HTML da página e não dos arquivos presentes nela.

import wget

link = "https://www.investidorpetrobras.com.br"

wget.download(link, "petrobrasinvestidores")
Código da página

Caso você queira fazer o download de todos os arquivos em uma página, seria necessário fazer um webscraping para obter os links de download de todos os arquivos e aí sim utilizar a wget para fazer o download.

Conclusão – Como Fazer Download de Arquivos com Python

Na aula de hoje eu te mostrei como fazer o download de arquivos com Python usando apenas duas linhas de código!

Você aprendeu a usar a biblioteca wget para fazer o download de arquivos e quais os principais cuidados que precisa ter para baixar o arquivo corretamente.

Essa é uma biblioteca muito útil, principalmente na hora de criar automações com Python, pois com ela você poderá adicionar a funcionalidade de download de arquivos às suas automações.

Com apenas duas linhas de código, você será capaz de fazer download de arquivos com Python independente da extensão.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?