Captura integral do acervo da Brasiliana Fotográfica (Biblioteca Nacional) para s3://brasiliana: 13.060 itens, 12.985 com imagem de preservação, 13.059 com miniatura derivada, 2.137 cópias legadas e 636 posts do blog. 41.444 objetos no ledger. Os 75 itens sem preservação estão em errors.md: a página do item responde 200, mas a origem serve o bitstream com HTTP 500. Nenhum fica fora do mural, porque todos têm thumbnail. Não versionado, por viver no bucket ou ser reconstruível: catálogo, posts .jsonl, atlas .webp, sqlite de estado e logs. Credenciais ficam de fora pelo .gitignore.
8.3 KiB
MANIFEST — Brasiliana Fotográfica → S3
Rascunho, gerado em 2026-09-10. Os pipelines de download ainda estavam em andamento quando este arquivo foi escrito pela última vez — os números marcados como "em andamento" precisam de uma passada final antes de publicar. Ver
tasks/PLANO.mdpro detalhe técnico completo.
O que é
Cópia de preservação do acervo da Brasiliana Fotográfica
(brasilianafotografica.bn.gov.br), um repositório DSpace mantido pela
Biblioteca Nacional do Brasil reunindo fotografias de 15 instituições
brasileiras e uma alemã (handles 20.500.12156.1/*). Depositada em
s3://brasiliana como acervo arquivístico — procedência e checksums
preservados por item, não uma cópia solta de imagens.
Inclui também os posts editoriais do blog WordPress do mesmo projeto (raiz do domínio, separado do repositório DSpace) — ensaios curatoriais que contextualizam itens do acervo, com autoria e data preservadas.
Por que foi coletado assim
A Biblioteca Nacional foi consultada: o material é público, mas a instituição não tem equipe técnica para fornecer um dump. A coleta por scraping foi o caminho combinado, com ritmo cortês e identificação do coletor mantidos ao longo de toda a coleta.
Como foi coletado
Metadados (13.058 itens reais — ver nota sobre falso-positivo abaixo):
enumerados via browse?type=title por comunidade (o sitemap oficial está
desatualizado desde 2019 e cobre só 41% do acervo), colhidos um a um do
DSpace (?show=full), executado a partir de um navegador real — o site
usa uma proteção anti-automação que bloqueia requisições de servidores e
navegadores sem sessão real, mesmo pra bitstreams de imagem, não só
páginas HTML.
Imagens: cada item pode ter mais de uma imagem original (achado desta
coleta — 115 itens tinham 2 a 6 bitstreams reais, não um). Pra cada item
coletamos: a imagem de preservação (a de maior resolução), a(s) imagem(ns)
adicional(is) quando existem, e a miniatura gerada pelo próprio DSpace.
Uma cópia legada de menor resolução (objdigital.bn.br) também foi
preservada quando disponível — é a mesma proveniência, resolução inferior,
mantida por referência histórica, nunca como substituta da imagem de
preservação.
Posts do blog: 637 posts únicos identificados (8 categorias do WordPress, com sobreposição substancial entre elas), com título, autor, data, categorias e corpo do texto, mais a lista de handles do acervo que cada post referencia.
Estrutura no bucket
s3://brasiliana/
MANIFEST.md este arquivo
catalogo.jsonl metadados completos, 1 linha por item
wordpress-posts.jsonl posts do blog, 1 linha por post
itens/{handle-com-underscore}/
metadata.json Dublin Core completo + URL de origem
+ data/hora UTC de captura
manifest-sha256.txt SHA-256 de cada arquivo do item
preservacao/
{nome-do-arquivo}.jpg imagem de maior resolução
extra_seqN.jpg imagens adicionais (itens com
múltiplos bitstreams — ver achado
2.7 do PLANO.md)
thumbnail/
thumb_N.jpg miniatura gerada pelo DSpace
legado/
{nome-original}.jpg cópia de objdigital.bn.br, quando
existe (menor resolução, mesma
proveniência)
derivados/thumb256/
{handle-com-underscore}.webp miniatura DERIVADA por nós (não é
material de origem — ver abaixo)
Sobre derivados/
Tudo sob itens/ é material de origem: veio da Biblioteca Nacional como
está. derivados/ é o oposto — foi gerado por nós a partir do que está
em itens/, e pode ser reconstruído do zero a qualquer momento. A
separação é proposital: misturar derivado nosso com bitstream de origem
apagaria a procedência que o resto deste manifesto garante.
derivados/thumb256/ tem 13.059 miniaturas (256px no maior lado,
WebP q80, ~100 MB no total), uma por item, geradas com libvips: 12.849
derivadas da imagem de preservação e 202 derivadas do thumbnail/ do
próprio DSpace, para itens que têm miniatura mas ainda não têm imagem de
preservação coletada. A especificação de saída é a mesma nos dois casos,
então o conjunto é uniforme.
Cobre 13.059 dos 13.060 handles do catálogo (99,99%). O único ausente
é 7523, cujos bitstreams a origem serve com HTTP 500.
Nota sobre a contagem de itens: este manifesto fala em 13.058 itens reais,
mas o catalogo.jsonl tem 13.060 handles distintos. A diferença de 2 não
foi reconciliada — vale conferir antes de tratar qualquer um dos dois
números como definitivo.
Note que itens/{handle}/thumbnail/ não é uma miniatura no sentido
usual: os arquivos que o DSpace chama de thumbnail têm 721 a 3.709 px no
maior lado (média ~1.087). São derivados de resolução média, não
miniaturas de listagem.
Não-negociáveis (cumpridos)
- SHA-256 de cada arquivo — em
manifest-sha256.txt, por item - URL de origem + data/hora UTC de captura — em
metadata.json(source_url,fetched_at) dc.rightse instituição de origem preservados por item —metadata.jsontrazcommunity(100% dos itens) erights(quando a instituição de origem o preencheu — ver nota abaixo)
Contagens (⚠️ conferir antes de publicar — pipelines em andamento)
| Total esperado | Status | |
|---|---|---|
| Itens no catálogo | 13.058 | ✅ fechado |
| Imagem de preservação | 12.985 | ✅ fechado |
| Miniatura (thumbnail do DSpace) | 13.059 | ✅ fechado |
Miniatura derivada (derivados/thumb256/) |
13.059 | ✅ fechado |
| Imagens extras (multi-bitstream) | 245 | ✅ completo |
| Cópia legada (objdigital) | ~2.707 elegíveis | 🟡 em andamento |
| Posts do blog | 637 | 🟡 em andamento |
Antes de publicar: rodar a verificação final (contagem de pastas no bucket vs. catálogo, checksums batendo) e atualizar esta tabela com os números fechados.
Exceções conhecidas (não são bugs)
dc.rightsausente em 5.833 itens (44,7%) — característica real da fonte: várias instituições nunca preencheram esse campo no DSpace. A instituição de origem (community) está preservada em 100% dos casos; a decisão de redistribuição desses itens deve considerar a política de cada instituição individualmente (ver seção "Direitos" abaixo).- Handle
20.500.12156.1/1— descoberto pelo crawler mas não é um item: é a página raiz da comunidade. Excluído do catálogo final. - Duplicatas com sufixo
(N)removidas — 3.511 objetos nomeadosarquivo (1).jpgao lado de umarquivo.jpgbyte a byte idêntico (artefato do navegador rebaixando por cima). Confirmados idênticos por ETag + tamanho antes de apagar; 0,39 GB recuperados. Sobraram 43 cujo nome tem o sufixo mas que são o único arquivo do item (ficam como estão) e 30 cujo gêmeo tem tamanho diferente — esses precisam de conferência individual e não foram tocados. - Handle
20.500.12156.1/7523("Vista Aérea de Cabo Frio", Museu Aeroespacial) — sem imagem. O servidor da Biblioteca Nacional retornaHTTP 500ao tentar servir os bitstreams desse item especificamente; não é um problema do nosso lado. Metadados preservados normalmente. - Handles
20.500.12156.1/6656e20.500.12156.1/7939— o que foi baixado como imagem de preservação é, na verdade, o bitstream de LICENÇA do DSpace (777 bytes de texto UTF-8 com extensão.jpg). É a mesma contaminação do achado 2.8b, desta vez na trilha de preservação e não na de miniatura. A validação de magic bytes dosubidor.pybarra esses arquivos no upload, então eles nunca chegaram ao bucket — mas significa que esses dois itens ainda não têm imagem coletada.
Direitos
Majoritariamente domínio público por antiguidade, mas as 16 instituições
de origem (15 brasileiras + 1 alemã) têm políticas distintas. dc.rights
e a instituição de origem são preservados por item: a decisão de
redistribuir é item a item, não do acervo em bloco. Arquivar para si é
uma coisa; republicar é outra.