SuperAPI AI Directory

junta-leiloeiros

General & other

View repository

Updated 10-16 03:36

About this skill

Skill: Auctioneers of the Brazilian Commercial Boards

Overview

Collects and queries data on official auctioneers from all 27 Brazilian Commercial Boards. Multi-state scraper, SQLite database, FastAPI API, and CSV/JSON export.

When to Use This Skill

  • When the user mentions "auctioneer commercial board" or related topics
  • When the user mentions "commercial board auctioneer" or related topics
  • When the user mentions "commercial board scraper" or related topics
  • When the user mentions "jucesp auctioneer" or related topics
  • When the user mentions "jucerja" or related topics
  • When the user mentions "jucemg auctioneer" or related topics

Do Not Use This Skill When

  • The task is unrelated to commercial board auctioneers
  • A simpler, more specific tool can handle the request
  • The user needs general-purpose assistance without domain expertise

How It Works

Collects public data on official auctioneers from all 27 state Commercial Boards, persists it in a local SQLite database, and offers a REST API and export in multiple formats.

Location

C:\Users\renat\skills\junta-leiloeiros\
├── scripts/
│   ├── scraper/
│   │   ├── base_scraper.py      ← classe abstrata
│   │   ├── states.py            ← registro dos 27 scrapers
│   │   ├── jucesp.py / jucerja.py / jucemg.py / jucec.py / jucis_df.py
│   │   └── generic_scraper.py   ← usado pelos 22 estados restantes
│   ├── db.py                    ← banco SQLite
│   ├── run_all.py               ← orquestrador de scraping
│   ├── serve_api.py             ← API FastAPI
│   ├── export.py                ← exportação
│   └── requirements.txt
├── references/
│   ├── juntas_urls.md           ← URLs e status de todas as 27 juntas
│   ├── schema.md                ← schema do banco
│   └── legal.md                 ← base legal
└── data/
    ├── leiloeiros.db            ← banco SQLite (criado no primeiro run)
    ├── scraping_log.json        ← log de cada coleta
    └── exports/                 ← arquivos exportados

Installation (Once)

pip install -r C:\Users\renat\skills\junta-leiloeiros\scripts\requirements.txt

## Para Sites Com Javascript:

playwright install chromium

Collect Data


## Todos Os 27 Estados

python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py

## Estados Específicos

python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --estado SP RJ MG

## Ver O Que Seria Coletado Sem Executar

python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --dry-run

## Controlar Paralelismo (Default: 5)

python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --concurrency 3

Statistics by State

python C:\Users\renat\skills\junta-leiloeiros\scripts\db.py

Direct SQL

sqlite3 C:\Users\renat\skills\junta-leiloeiros\data\leiloeiros.db
"SELECT estado, COUNT(*) FROM leiloeiros GROUP BY estado"


## Servir Api Rest

```bash
python C:\Users\renat\skills\junta-leiloeiros\scripts\serve_api.py

## Docs Interativos: Http://Localhost:8000/Docs

Endpoints:

  • GET /leiloeiros?estado=SP&situacao=ATIVO&nome=silva&limit=100
  • GET /leiloeiros/{estado} — e.g.: /leiloeiros/SP
  • GET /busca?q=texto
  • GET /stats
  • GET /export/json
  • GET /export/csv

Export Data

python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py --format csv
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py --format json
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py --format all
python C:\Users\renat\skills\junta-leiloeiros\scripts\export.py --format csv --estado SP

Use in Python Code

import sys
sys.path.insert(0, r"C:\Users\renat\skills\junta-leiloeiros\scripts")
from db import Database

db = Database()
db.init()

## Todos Os Leiloeiros Ativos De Sp

leiloeiros = db.get_all(estado="SP", situacao="ATIVO")

## Busca Por Nome

resultados = db.search("silva")

## Estatísticas

stats = db.get_stats()

Add Custom Scraper

If a state needs specific logic (e.g., site uses JavaScript):


## Scripts/Scraper/Meu_Estado.Py

from .base_scraper import AbstractJuntaScraper, Leiloeiro
from typing import List

class MeuEstadoScraper(AbstractJuntaScraper):
    estado = "XX"
    junta = "JUCEX"
    url = "https://www.jucex.xx.gov.br/leiloeiros"

    async def parse_leiloeiros(self) -> List[Leiloeiro]:
        soup = await self.fetch_page()
        if not soup:
            return []
        # lógica específica aqui
        return [self.make_leiloeiro(nome="...", matricula="...")]

Register in scripts/scraper/states.py:

from .meu_estado import MeuEstadoScraper
SCRAPERS["XX"] = MeuEstadoScraper

References

  • URLs for all boards: references/juntas_urls.md
  • Database schema: references/schema.md
  • Legal basis for collection: references/legal.md
  • Collection log: data/scraping_log.json

Best Practices

  • Provide clear, specific context about your project and requirements
  • Review all suggestions before applying them to production code
  • Combine with other complementary skills for comprehensive analysis

Common Pitfalls

  • Using this skill for tasks outside its domain expertise
  • Applying recommendations without understanding your specific context
  • Not providing enough project context for accurate analysis

Related Skills

  • leiloeiro-avaliacao - Complementary skill for enhanced analysis
  • leiloeiro-edital - Complementary skill for enhanced analysis
  • leiloeiro-ia - Complementary skill for enhanced analysis
  • leiloeiro-juridico - Complementary skill for enhanced analysis
  • leiloeiro-mercado - Complementary skill for enhanced analysis

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.