Python Solictações Download Arquivo

Python Solictações Download Arquivo

“A biblioteca de solicitações Python é uma das bibliotecas mais versáteis e valiosas do ecossistema Python. Suas características e simplicidade incrível fazem valer a pena em alimentar inúmeras aplicações python.”

Este tutorial nos ensinará a baixar um arquivo de uma determinada URL usando o pacote de solicitações.

Instalação e configuração

Antes de usar o método de solicitações, você deve garantir que ele esteja instalado em seu ambiente. Você pode fazer isso executando o comando pip como mostrado:

$ sudo pip install solicitações


ou

$ sudo pip3 solicitações de instalação


No Windows, você pode executar o comando:

$ python -m PiP Install Solicys


Se você instalou o CONDA, execute o comando:

solicitações de instalação da conda anaconda

Exemplo 1 - Baixe um arquivo simples

Podemos baixar um arquivo usando o módulo de solicitações especificando o URL para o arquivo e usando o módulo de arquivo python para gravar o conteúdo em um determinado nome do arquivo.

Um exemplo de ilustração é mostrado abaixo:

$ touch ~/download_image.py


Edite o arquivo e adicione o código:

$ vim ~/download_image.py
solicitações de importação
url = 'https: // upload.Wikimedia.Org/Wikipedia/Commons/A/Af/Tux.png '
r = solicitações.get (url, allow_redirects = true)
com open ('smoking.png ',' wb ') como f:
f.escritor.contente)


No código acima, começamos importando o módulo de solicitações. Em seguida, criamos uma variável segurando o URL no arquivo que desejamos baixar. Nesse caso, queremos baixar uma imagem.

Na terceira linha, criamos um objeto de resposta HTTP e fazemos uma solicitação para o URL especificado. Também definimos os allowD_redirectos para permitir que o cliente siga os redirecionamentos (se houver). O objeto de resposta é então salvo na variável chamada r.

Finalmente, salve o objeto recebido em um arquivo como smoking.PNG no modo binário.

Você pode verificar o diretório onde o script está localizado para o smoking.arquivo png.

Exemplo 2 - Faça o download de arquivos grandes

No exemplo acima, usamos o r.Conteúdo Func, que armazena o arquivo como uma string. Isso é prático ao baixar pequenos arquivos. No entanto, ao baixar arquivos grandes, a função não lidará com os dados solicitados de uma só vez.

Para resolver isso, precisamos baixar o arquivo como fluxos. Portanto, podemos usar o r.função iter_content e defina o parâmetro do fluxo como true.

Isso ocorre porque usando o r.Content () Função com o parâmetro de fluxo para True apenas manterá a conexão e a resposta aberta e não lerão o arquivo especificado.

O r.A função iter_content nos permite resolver isso.

Um exemplo é como mostrado:

solicitações de importação
url = "https: // hastie.su.domínios/islr2/islrv2_website.pdf "
r = solicitações.get (url, allow_redirects = true, stream = true)
com open ('islrv2.pdf ',' wb ') como arquivo:
Para pedaços em r.iter_content (chunk_size = 1024):
Se Chunk:
arquivo.Escreva (Chunk)


O código acima usa um loop para escrever os pedaços de dados (1024 bytes cada) no arquivo especificado.

Exemplo 3 - Verificação do tipo de arquivo antes do download

Podemos verificar o tipo de conteúdo recebido dos cabeçalhos. Podemos então usar esse valor para verificar se o arquivo que desejamos fazer o download está correto.

Por exemplo, se queremos baixar um arquivo ISO e receber html ou tipo de texto, sabemos que este é um arquivo incorreto e fechar a conexão.

Um código de exemplo é como mostrado:

solicitações de importação
url = "https: // cdimage.Debian.org/Debian-CD/Current/AMD64/ISO-DVD/Debian-11.4.0-AMD64-DVD-1.iso "
r = solicitações.get (url, allow_redirects = true, stream = true)
h = solicitações.cabeça (url, allow_redirects = true)
cabeçalho = h.cabeçalhos
content_type = cabeçalho.Get ('Content-Type')
Se 'html' em content_type.mais baixo():
r.fechar()
print ("Tipo de arquivo incorreto")
se 'texto' em content_type ().mais baixo():
r.fechar()
print ("Tipo de arquivo incorreto")
outro:
com open ('islrv2.iso ',' wb ') como arquivo:
Para pedaços em r.iter_content (chunk_size = 1024):
Se Chunk:
arquivo.Escreva (Chunk)

Fechamento

Você aprendeu a baixar um arquivo usando o módulo Python Solictações neste artigo. Você também aprendeu a baixar arquivos grandes.

Obrigado pela leitura!!