Privacy Download

16/12/2025

Privacy Downloader

Neste post eu apresento uma ferramenta em Python desenvolvida para coletar e baixar imagens a partir de URLs do domínio image.privacy.com.br. O foco do projeto é robustez, organização e automação, mantendo o código modular e fácil de manter.

Resumo rápido: o script valida URLs, decodifica metadados embutidos em Base64, normaliza nomes de arquivos, realiza downloads com retry automático e gera logs detalhados do processamento.

Objetivo do projeto

A ideia central é automatizar o download de imagens quando se tem listas grandes de URLs, evitando problemas comuns como:

  • URLs inválidas misturadas com válidas

  • Falhas temporárias de rede

  • Nomes de arquivos quebrados ou incompatíveis com o Windows

  • Downloads duplicados

  • Falta de rastreabilidade do que foi processado

O script resolve tudo isso em um fluxo único e previsível.

Arquitetura geral

O código foi dividido em blocos bem definidos:

  1. Configurações globais

  2. Utilitários de sessão e saída

  3. Decodificação da URL (Base64)

  4. Geração segura de nomes de arquivo

  5. Download com verificação de conteúdo

  6. Coleta de URLs (arquivo, CLI ou modo interativo)

  7. Log final de execução

Essa separação facilita ajustes futuros e reutilização de partes do código.

Sessão HTTP resiliente

A função create_session() cria uma sessão requests.Session com:

  • Retry automático (códigos 429, 5xx)

  • Backoff exponencial

  • Headers personalizados simulando um navegador real

Isso reduz drasticamente falhas em downloads longos ou instáveis.

Decodificação da URL

Um dos pontos mais interessantes do script está na função: "decode_privacy_url()".

Ela:

  • Extrai o trecho Base64 presente na URL

  • Remove caracteres inválidos

  • Corrige o padding (=)

  • Decodifica o JSON embutido

A partir disso, o script consegue recuperar informações como:

  • bucket

  • key

  • Estrutura de edição da imagem

Esses dados são usados principalmente para gerar nomes de arquivo mais coerentes.

Normalização do nome do arquivo

A função get_filename_from_info() garante que:

  • O nome não contenha caracteres inválidos no Windows

  • Extensões ausentes sejam corrigidas

  • Prefixos desnecessários sejam removidos

  • Sempre exista um fallback (imagem_0001.jpg, por exemplo)

Isso evita erros silenciosos durante o salvamento.

Processo de download

O fluxo de download é direto, mas bem protegido:

  • Verifica se o arquivo já existe

  • Confere o status_code

  • Valida o Content-Type (somente imagens)

  • Salva o conteúdo em modo binário

  • Exibe o tamanho final do arquivo

Cada URL é processada individualmente, com controle de sucesso e falha.

Coleta de URLs

O script aceita URLs de três formas:

  • Argumentos via linha de comando

  • Arquivo de texto (--file)

  • Modo interativo, colando URLs diretamente no terminal

Somente URLs válidas do domínio correto são consideradas. O restante é descartado automaticamente.

Log de execução

Ao final, é gerado um arquivo:

Downloads/urls_processadas.txt

Contendo:

  • Total de URLs

  • Quantidade de sucessos

  • Quantidade de falhas

  • Lista numerada de todas as URLs processadas

Isso facilita auditoria e reprocessamento posterior.

Considerações finais

Este projeto prioriza:

  • Código limpo e legível

  • Tratamento defensivo de erros

  • Automação sem dependências desnecessárias

É uma base sólida para quem precisa trabalhar com grandes volumes de imagens, mantendo controle e previsibilidade no processo.

Se aquilo que você cria não tem moral, por que, então, deve respeitá-la?

Codigo Aberto:

Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora