
关于
收集和查询巴西全部 27 个商业委员会的官方拍卖师数据。多州爬虫、SQLite 数据库、FastAPI 接口和 CSV/JSON 导出。
name: junta-leiloeiros description: 采集和查询巴西全部27个商业登记局的官方拍卖师数据。多州爬虫、SQLite 数据库、FastAPI API 及 CSV/JSON 导出。 risk: safe source: community date_added: '2026-03-06' author: renat tags:
- scraping
- brazilian-data
- auctioneers
- api tools:
- claude-code
- antigravity
- cursor
- gemini-cli
- codex-cli
技能:巴西商业登记局拍卖师数据
概述
采集和查询巴西全部27个商业登记局的官方拍卖师数据。多州爬虫、SQLite 数据库、FastAPI API 及 CSV/JSON 导出。
何时使用此技能
- 当用户提到"leiloeiro junta"或相关主题时
- 当用户提到"junta comercial leiloeiro"或相关主题时
- 当用户提到"scraper junta"或相关主题时
- 当用户提到"jucesp leiloeiro"或相关主题时
- 当用户提到"jucerja"或相关主题时
- 当用户提到"jucemg leiloeiro"或相关主题时
不适用场景
- 任务与商业登记局拍卖师无关
- 更简单、更专用的工具可以处理该请求
- 用户需要通用帮助而非领域专业知识
工作原理
采集巴西全部27个州商业登记局的公开拍卖师数据,持久化到本地 SQLite 数据库,并提供 REST API 和多格式导出。
目录结构
C:\Users\renat\skills\junta-leiloeiros\
├── scripts/
│ ├── scraper/
│ │ ├── base_scraper.py ← 抽象基类
│ │ ├── states.py ← 27个爬虫的注册表
│ │ ├── jucesp.py / jucerja.py / jucemg.py / jucec.py / jucis_df.py
│ │ └── generic_scraper.py ← 其余22个州使用
│ ├── db.py ← SQLite 数据库
│ ├── run_all.py ← 爬虫编排器
│ ├── serve_api.py ← FastAPI API
│ ├── export.py ← 导出功能
│ └── requirements.txt
├── references/
│ ├── juntas_urls.md ← 全部27个登记局的 URL 和状态
│ ├── schema.md ← 数据库 schema
│ └── legal.md ← 法律依据
└── data/
├── leiloeiros.db ← SQLite 数据库(首次运行时创建)
├── scraping_log.json ← 每次采集的日志
└── exports/ ← 导出文件
安装(一次性)
pip install -r C:\Users\renat\skills\junta-leiloeiros\scripts\requirements.txt
## 对于使用 JavaScript 的网站:
playwright install chromium
采集数据
## 全部27个州
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py
## 指定州
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --estado SP RJ MG
## 预览将采集的内容(不实际执行)
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --dry-run
## 控制并发数(默认:5)
python C:\Users\renat\skills\junta-leiloeiros\scripts\run_all.py --concurrency 3
各州统计
python C:\Users\renat\skills\junta-leiloeiros\scripts\db.py
## 直接 SQL 查询
sqlite3 C:\Users\renat\skills\junta-leiloeiros\data\leiloeiros.db \
"SELECT estado, COUNT(*) FROM leiloeiros GROUP BY estado"
启动 REST API
python C:\Users\renat\skills\junta-leiloeiros\scripts\serve_api.py
## 交互式文档:http://localhost:8000/docs
接口端点:
GET /leiloeiros?estado=SP&situacao=ATIVO&nome=silva&limit=100GET /leiloeiros/{estado}— 例如:/leiloeiros/SPGET /busca?q=textoGET /statsGET /export/jsonGET /export/csv
导出数据
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
在 Python 代码中使用
import sys
sys.path.insert(0, r"C:\Users\renat\skills\junta-leiloeiros\scripts")
from db import Database
db = Database()
db.init()
## 获取圣保罗州所有活跃拍卖师
leiloeiros = db.get_all(estado="SP", situacao="ATIVO")
## 按名称搜索
resultados = db.search("silva")
## 统计信息
stats = db.get_stats()
添加自定义爬虫
如果某个州需要特定逻辑(例如:网站使用 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 []
# 此处编写特定逻辑
return [self.make_leiloeiro(nome="...", matricula="...")]
在 scripts/scraper/states.py 中注册:
from .meu_estado import MeuEstadoScraper
兼容工具
Claude CodeCursor
标签
后端开发
