Skip to content

Utilização Rápida

Python 3.11+ uv (gerenciador de pacotes)

Terminal window
git clone git@github.com:colabhd/mercodocs.git
cd mercodocs
uv sync --extra dev
uv run playwright install chromium
Configuração
cp .env.example .env # Edite .env conforme necessário
Terminal window
uv run scrapy list

Exemplo de saída:

Terminal window
mercosur_actas_y_anexos
mercosur_comunicados_presidenciales
mercosur_declaraciones_presidenciales
mercosur_normativa

1. Atas e Anexos (Extração Profunda e Multi-órgãos)

Section titled “1. Atas e Anexos (Extração Profunda e Multi-órgãos)”

Esta spider percorre automaticamente todos os órgãos do Mercosul (CMC, GMC, CCM, etc.) e captura detalhes profundos de atas e anexos.

Modo Atualização (Incremental): Pula itens que já existem no arquivo .jsonl.

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -o dados_atas.jsonl

Modo Coleta Completa (-a full_crawl=True): Ignora o histórico e baixa tudo novamente.

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a full_crawl=True -o dados_atas_novo.jsonl

Teste rápido por quantidade de órgãos:

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a max_orgaos=2 -o teste_actas.jsonl

Filtrar órgãos por JSON (com verificação de novos órgãos):

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a orgaos_json=config/orgaos.json -a check_orgaos=true -o dados_atas.jsonl

Se config/orgaos.json não existir, a spider cria automaticamente com todos os órgãos marcados como enabled=true. Para sincronizar novos órgãos no arquivo (adicionados como enabled=false):

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a orgaos_json=config/orgaos.json -a sync_orgaos=true -o dados_atas.jsonl

Filtrar órgão específico por argumento (sem editar JSON):

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a orgao_id=137 -o dados_atas_grelex.jsonl

Filtrar por sigla + foro pai (ex.: GRELEX depende de GMC):

Terminal window
uv run scrapy crawl mercosur_actas_y_anexos -a orgao_sigla=GRELEX -a depende_de_sigla=GMC -a strict_match=true -o dados_atas_grelex.jsonl
Terminal window
uv run scrapy crawl mercosur_declaraciones_presidenciales -o declaraciones.jsonl -s CLOSESPIDER_ITEMCOUNT=3
Terminal window
uv run scrapy crawl mercosur_comunicados_presidenciales -o comunicados.jsonl
Terminal window
uv run scrapy crawl mercosur_normativa -o normativa.jsonl

Opcionalmente, use o atalho:

Terminal window
./scripts/crawl_spider.sh mercosur_declaraciones_presidenciales

Download paralelo de arquivos (PDF/DOC/DOCX/TIF…):

Section titled “Download paralelo de arquivos (PDF/DOC/DOCX/TIF…):”

Os spiders continuam focados em coletar metadados e URLs. Para baixar os arquivos binários em paralelo, execute o script dedicado após a coleta:

Terminal window
uv run python scripts/download_assets.py dados_atas_grelex_full.jsonl --output-root downloads --manifest downloads/manifest.json --workers 8

Características do fluxo:

deduplicação por URL e por hash de conteúdo; incremental via manifesto (downloads/manifest.json); organização em pastas por spider/órgão/ano; suporte a múltiplos JSONL na mesma execução. falhas ficam registradas no manifesto com status=failed e campo error; ao executar novamente com o mesmo manifesto, as URLs com falha são tentadas de novo.

Exemplo com múltiplos arquivos de entrada:

Terminal window
uv run python scripts/download_assets.py dados_atas.jsonl normativa.jsonl comunicados.jsonl