Files
LLM-UI/vwts_scraper/__main__.py
T

47 lines
1.5 KiB
Python

"""Точка входа.
Использование:
python -m vwts_scraper https://vwts.ru/forum/vag/benzinovye-dvigateli/
Пауза: Ctrl+C → состояние сохраняется.
Продолжить: та же команда.
"""
import sys, logging
from .config import OUTPUT_DIR
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%H:%M:%S",
handlers=[
logging.StreamHandler(sys.stdout),
logging.FileHandler(OUTPUT_DIR / "scraper.log", encoding="utf-8"),
],
)
if __name__ == "__main__":
if len(sys.argv) < 2 or "vwts.ru" not in sys.argv[1]:
print("❌ Укажи URL раздела vwts.ru. Пример:")
print(" python -m vwts_scraper "
"https://vwts.ru/forum/vag/benzinovye-dvigateli/")
sys.exit(1)
from .run import run
section_url = sys.argv[1].rstrip("/") + "/"
log = logging.getLogger(__name__)
log.info("=" * 60)
log.info(f"🚀 vwts.ru — раздел: {section_url.split('/')[-2]}")
log.info(f"📂 {OUTPUT_DIR}/{section_url.split('/')[-2]}/part_*.jsonl")
log.info("🛑 Ctrl+C = пауза | Повторить команду = продолжить")
log.info("=" * 60)
try:
run(section_url)
except KeyboardInterrupt:
log.info("\n🛑 ПАУЗА. Продолжить: та же команда.")
sys.exit(0)