# -*- coding: UTF-8 -*- ''' @Project :domainScanDemo @File :base.py @IDE :PyCharm @Author :梦伴 @Date :2026/4/8 23:55 @explain : 基础检测类 ''' from abc import ABC, abstractmethod from loguru import logger class BaseDetector(ABC): """ 基础检测类 """ def __init__(self): """ 初始化检测类 """ self.name = self.__class__.__name__ logger.info(f"初始化检测器: {self.name}") @abstractmethod def check_domain(self, domain): """ 检测域名 :param domain: 域名 :return: dict - 检测结果 """ pass def _log_info(self, message): """ 记录信息日志 :param message: 消息 """ logger.info(f"[{self.name}] {message}") def _log_warning(self, message): """ 记录警告日志 :param message: 消息 """ logger.warning(f"[{self.name}] {message}") def _log_error(self, message): """ 记录错误日志 :param message: 消息 """ logger.error(f"[{self.name}] {message}") def _handle_exception(self, e, domain): """ 处理异常 :param e: 异常 :param domain: 域名 :return: dict - 错误结果 """ self._log_error(f"检测域名 {domain} 出错: {e}") return {'error': str(e)}