Atacadao Encartes Downloader
Baixa todos os encartes vigentes e todas as suas paginas via parse do __NEXT_DATA__ do site + rasterizacao do PDF com poppler. Sem Playwright, sem npm install, sem API separada.
Setup (so na primeira vez)
brew install poppler
Comando padrao
node atacadao-encartes/download-encartes.js
Saida: ~/Downloads/Encartes/Atacadao/DD-Mes/
Como funciona
fetchdo HTML dehttps://www.atacadao.com.br/loja/{slug}- Extrai o
<script id="__NEXT_DATA__">e parseia o JSON - Navega em
props.pageProps.storeInfo.flyers[]e filtra: so encartes comexclude !== trueevalidity.final >= hoje - Para cada encarte: baixa o PDF de
urlFinalDocument(idempotente) pdfinfoconta o nº de paginas;pdftoppm -jpeg -r 200rasteriza cada uma em JPG ~2205x3150 px- Pula arquivos ja existentes (idempotente por PDF e por pagina)
- Tenta reaproveitar paginas de rodadas anteriores via
lib/reuso.js - Grava
manifest.jsoncom rede, loja, data, DPI e lista de encartes
Estrutura de saida
Downloads/Encartes/Atacadao/DD-Mes/
PDF/
super-ofertas-27-07-a-05-08.pdf
festival-de-chocolates-01-08-a-09-08.pdf
JPG/
super-ofertas-27-07-a-05-08-pagina-01.jpg
super-ofertas-27-07-a-05-08-pagina-02.jpg
festival-de-chocolates-01-08-a-09-08-pagina-01.jpg
manifest.json
Nome do arquivo: <slug>-pagina-NN.jpg. O slug e slugify(name)-DD-MM-a-DD-MM usando as datas de vigencia, o que diferencia folhetos com mesmo nome (ex: varios "Super Ofertas" com vigencias diferentes).
Opcoes
# Loja especifica (Fortaleza)
node atacadao-encartes/download-encartes.js --loja fortaleza-aeroporto
# So o encarte mais recente (teste)
node atacadao-encartes/download-encartes.js --only-newest
# Resolucao alternativa
node atacadao-encartes/download-encartes.js --dpi 300
# Pasta de destino alternativa
node atacadao-encartes/download-encartes.js --output /caminho/completo
# Pasta raiz alternativa (contera Atacadao/DD-Mes/ dentro)
node atacadao-encartes/download-encartes.js --base /outro/caminho
# Sem reuso de paginas anteriores
node atacadao-encartes/download-encartes.js --sem-reuso
Lojas Fortaleza
fortaleza-barra-do-ceara
fortaleza-br-116
fortaleza-aeroporto
fortaleza-fatima
fortaleza-maraponga-24hrs
fortaleza-vila-peri
fortaleza-osorio
Comportamento ao acionar
- Executar o script direto — sem perguntas desnecessarias
- Mostrar o output (rede, loja, data, dpi, nº encartes, nº paginas, destino)
- Confirmar a pasta com
lsse o usuario quiser verificar - Se
pdfinfo/pdftoppmausentes, o script ja exibebrew install poppler - Se houver outro erro, mostrar a mensagem exata