Ir ao conteúdo
  • Cadastre-se

Python Download de multiplos arquivos


Posts recomendados

Basicamente eu tenho um arquivo Json da seguinte forma:

{
  "URL": "link",
  "Nome": "nome_arquivo",
  "Ext": ".ext",
  "tags": [
    "tag1",
    "tag2",
    "tagX"
  ]
}

 

 

Eu percorro todo o arquivo json e armazeno os links em um array. Como o json possui uma lista com mais de 3000 imagens o download um a um acaba sendo muito lento, então acabei utilizando o seguinte codigo para efetuar o download
 

with ThreadPoolExecutor(max_workers=8) as executor:
    executor.map(download_file_image, array_images)


 

def download_file_image(image):
        file_name = Utils.jsonUtils.getName(image)
        response = requests.get(Utils.jsonUtils.getUrl(image))
        with open(self.path + "/imgs/" + Utils.jsonUtils.getName(image), 'wb') as handle:
            handle.write(response.content)



Existe uma forma melhor e mais rápida para efetuar o download das imagens ?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Arkcanjou nunca fiz, mas acho que se a ordem em que o download está não importa, fazer da seguinte forma deve acelerar:

dividir a lista de downloads pelo numero de threads que deseja usar. x = Ndownloads/threads

x será agora um pacote de downloads.

criar um generator usando async para cada um desses x resultados.
x será agora um pacote de downloads assíncronos pré-gerados.

disparar cada item da lista usando threads.

cada pacote de download assíncrono será requisitado em uma thread.
 

 

tem a biblioteca wget também, já deu uma olhada?

@Kamuri my love, estou correto?

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!