Como baixar arquivos com Python

Como baixar arquivos em PythonBaixar arquivos da internet é algo que quase todos os programadores terão que fazer em algum momento. O Python fornece várias maneiras de fazer isso em sua biblioteca padrão. Provavelmente, a maneira mais popular de baixar um arquivo é sobre o HTTP usando o módulo urllib ou urllib2. Python também vem com ftplib para downloads de FTP. Finalmente, há um novo módulo de terceiros que vem recebendo muita atenção dos pythonistas chamado requests. Vamos focar nos dois módulos urllib e no requests neste artigo.

Antes de começar, que tal assistir ao livecoder MarioIdival, de Parnamirim, enquanto ele trabalha no PyLab, um grupo de estudo do Rio Grande do Norte?

Como esta é uma tarefa muito simples, vamos apenas mostrar um script rápido e sujo que baixa o mesmo arquivo com cada biblioteca e nomeia os resultados de forma ligeiramente diferente. Nós iremos baixar um arquivo zipado de um blog para nosso script de exemplo.

ENJOYING THIS POST?

Get More Benefits With LiveEdu Pro

Vamos dar uma olhada:

Como você pode ver, urllib usa uma linha só. Sua simplicidade o torna muito fácil de usar. Por outro lado, as outras duas bibliotecas são muito simples também. Para o urllib2, basta abrir o url e depois lê-lo e escrever os dados. Na verdade, você pode reduzir essa parte do script em uma linha apenas fazendo o seguinte:

De qualquer maneira, este módulo funciona muito bem. O método do requests é get, que corresponde ao HTTP GET. Em seguida, basta pegar o objeto requests e chamar sua propriedade content para obter os dados que você deseja gravar. Usamos a instrução with porque fechará automaticamente um arquivo e simplificará o código. Observe que apenas usar read() pode ser perigoso se o arquivo for grande. Seria melhor lê-lo em pedaços, passando um tamanho ao read.

Aí está! Agora, você também pode começar a baixar arquivos usando o Python.

Read previous post:
featured-image-quality-streams-vidoes
How can I watch livestreams and videos in low, medium and high quality?

A smooth viewing experience is important for viewers to enjoy watching a livestream. Not all viewers on LiveEdu have a...

Close